當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Acl::getRoles方法代碼示例

本文整理匯總了PHP中Zend\Permissions\Acl\Acl::getRoles方法的典型用法代碼示例。如果您正苦於以下問題:PHP Acl::getRoles方法的具體用法?PHP Acl::getRoles怎麽用?PHP Acl::getRoles使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Zend\Permissions\Acl\Acl的用法示例。


在下文中一共展示了Acl::getRoles方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testgetRoles

 /**
  * @group ZF-8468
  */
 public function testgetRoles()
 {
     $this->assertEquals(array(), $this->_acl->getRoles());
     $roleGuest = new Role\GenericRole('guest');
     $this->_acl->addRole($roleGuest);
     $this->_acl->addRole(new Role\GenericRole('staff'), $roleGuest);
     $this->_acl->addRole(new Role\GenericRole('editor'), 'staff');
     $this->_acl->addRole(new Role\GenericRole('administrator'));
     $expected = array('guest', 'staff', 'editor', 'administrator');
     $this->assertEquals($expected, $this->_acl->getRoles());
 }
開發者ID:pnaq57,項目名稱:zf2demo,代碼行數:14,代碼來源:AclTest.php

示例2: __construct

 public function __construct($roleName, array $permissions, Acl $acl)
 {
     parent::__construct();
     $this->setAttribute('method', 'post');
     $roles = $acl->getRoles();
     $parentPermissions = [];
     foreach ($roles as $role) {
         if ($acl->inheritsRole($roleName, $role, true)) {
             foreach ($permissions as $permissionId => $permission) {
                 if ($acl->isAllowed($role, $permission)) {
                     $parentPermissions[$permissionId] = $permissionId;
                 }
             }
         }
     }
     $permissionGroups = [];
     foreach ($permissions as $permissionId => $permission) {
         $fragments = explode('/', $permission);
         $groupName = reset($fragments);
         if (!array_key_exists($groupName, $permissionGroups)) {
             $permissionGroups[$groupName] = [];
         }
         $permissionGroups[$groupName][] = $permissionId;
     }
     foreach ($permissionGroups as $groupName => $groupPermissions) {
         foreach ($groupPermissions as $permission) {
             $permissionCheck = new Checkbox($permission);
             $permissionCheck->setLabel($permissions[$permission]);
             if (array_key_exists($permission, $parentPermissions)) {
                 $permissionCheck->setValue(true);
                 $permissionCheck->setAttribute('disabled', true);
             }
             $this->add($permissionCheck);
             if (!array_key_exists($groupName, $this->permissionGroups)) {
                 $this->permissionGroups[$groupName] = [];
             }
             $this->permissionGroups[$groupName][] = $permissionCheck;
         }
     }
     $submit = new Submit('save');
     $submit->setValue('save');
     $submit->setAttribute('class', 'btn btn-primary');
     $this->add($submit);
 }
開發者ID:zend-bricks,項目名稱:bricks-user,代碼行數:44,代碼來源:PermissionAssignmentForm.php


注:本文中的Zend\Permissions\Acl\Acl::getRoles方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。