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

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

Method to add a resource
public addResources ( mixed $resources ) : Acl
$resources mixed
Результат Acl
    public function addResources($resources)
    {
        if (is_array($resources)) {
            foreach ($resources as $r) {
                if ($r instanceof Resource) {
                    $this->resources[$r->getName()] = $r;
                } else {
                    $this->resources[$r] = Resource::factory($r);
                }
            }
        } else {
            if ($resources instanceof Resource) {
                $this->resources[$resources->getName()] = $resources;
            } else {
                $this->resources[$resources] = Resource::factory($resources);
            }
        }
        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::addResources