本文整理匯總了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());
}
示例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);
}