Pop\Auth\Acl::addRoles PHP Метод

addRoles() публичный Метод

Method to add roles
public addRoles ( mixed $roles ) : Acl
$roles mixed
Результат Acl
    public function addRoles($roles)
    {
        if (is_array($roles)) {
            foreach ($roles as $r) {
                if ($r instanceof Role) {
                    $this->roles[$r->getName()] = $r;
                } else {
                    $this->roles[$r] = Role::factory($r);
                }
            }
        } else {
            if ($roles instanceof Role) {
                $this->roles[$roles->getName()] = $roles;
            } else {
                $this->roles[$roles] = Role::factory($roles);
            }
        }
        return $this;
    }

Usage Example

Пример #1
0
 public function testBuildRoleException()
 {
     $_SERVER['REQUEST_URI'] = '/first';
     $this->setExpectedException('Pop\\Nav\\Exception');
     $page = new Auth\Resource('page');
     $user = new Auth\Resource('user');
     $basic = Auth\Role::factory('basic')->addPermission('add');
     $editor = Auth\Role::factory('editor')->addPermission('add')->addPermission('edit');
     $acl = new Auth\Acl();
     $acl->addRoles(array($basic, $editor));
     $acl->addResources(array($page, $user));
     $acl->allow('basic', 'page', array('add'))->allow('editor', 'page')->allow('editor', 'user');
     $tree = array(array('name' => 'Pages', 'href' => '/pages', 'children' => array(array('name' => 'Add Page', 'href' => 'add', 'acl' => array('resource' => 'page', 'permission' => 'add')), array('name' => 'Edit Page', 'href' => 'edit', 'acl' => array('resource' => 'page', 'permission' => 'edit')))), array('name' => 'Users', 'href' => '/users', 'acl' => array('resource' => 'user'), 'children' => array(array('name' => 'Add User', 'href' => 'add'), array('name' => 'Edit User', 'href' => 'edit'))));
     $n = new Nav($tree);
     $n->setAcl($acl);
     $r = $n->render(true);
 }
All Usage Examples Of Pop\Auth\Acl::addRoles