本文整理汇总了PHP中Zend_Acl::removeRole方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Acl::removeRole方法的具体用法?PHP Zend_Acl::removeRole怎么用?PHP Zend_Acl::removeRole使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Acl
的用法示例。
在下文中一共展示了Zend_Acl::removeRole方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testRuleRoleRemove
/**
* Ensures that removal of a Role results in its rules being removed
*
* @return void
*/
public function testRuleRoleRemove()
{
$this->_acl->addRole(new Role\GenericRole('guest'))->allow('guest');
$this->assertTrue($this->_acl->isAllowed('guest'));
$this->_acl->removeRole('guest');
try {
$this->_acl->isAllowed('guest');
$this->fail('Expected Zend\\Acl\\Role\\Exception not thrown upon isAllowed() on non-existent Role');
} catch (Acl\Exception\InvalidArgumentException $e) {
$this->assertContains('not found', $e->getMessage());
}
$this->_acl->addRole(new Role\GenericRole('guest'));
$this->assertFalse($this->_acl->isAllowed('guest'));
}
示例2: testRuleRoleRemove
/**
* Ensures that removal of a Role results in its rules being removed
*
* @return void
*/
public function testRuleRoleRemove()
{
$this->_acl->addRole(new Zend_Acl_Role('guest'))->allow('guest');
$this->assertTrue($this->_acl->isAllowed('guest'));
$this->_acl->removeRole('guest');
try {
$this->_acl->isAllowed('guest');
$this->fail('Expected Zend_Acl_Role_Registry_Exception not thrown upon isAllowed() on non-existent Role');
} catch (Zend_Acl_Role_Registry_Exception $e) {
$this->assertContains('not found', $e->getMessage());
}
$this->_acl->addRole(new Zend_Acl_Role('guest'));
$this->assertFalse($this->_acl->isAllowed('guest'));
}
示例3: testRemovingRoleAfterItWasAllowedAccessToAllResourcesGivesError
/**
* Confirm that deleting a role after allowing access to all roles
* raise undefined index error
*
* @group ZF-5700
*/
public function testRemovingRoleAfterItWasAllowedAccessToAllResourcesGivesError()
{
$acl = new Zend_Acl();
$acl->addRole(new Zend_Acl_Role('test0'));
$acl->addRole(new Zend_Acl_Role('test1'));
$acl->addRole(new Zend_Acl_Role('test2'));
$acl->addResource(new Zend_Acl_Resource('Test'));
$acl->allow(null, 'Test', 'xxx');
// error test
$acl->removeRole('test0');
// Check after fix
$this->assertFalse($acl->hasRole('test0'));
}
示例4: removeRole
/**
* Removes the Role from the registry
*
* The $role parameter can either be a Role or a Role identifier.
*
* @param Zend_Acl_Role_Interface|string $role
* @uses Zend_Acl::removeRole()
* @return Zend_Acl Provides a fluent interface
*/
public function removeRole($role)
{
if ($this->hasCachingAdapter()) {
$this->_checkCaching();
}
$roleId = $role instanceof Zend_Acl_Role_Interface ? $role->getRoleId() : (string) $role;
$this->_setRoleUnloaded($roleId);
$arrRoles = $this->_getAdapter()->removeRole($roleId);
foreach ($arrRoles as $role) {
if ($this->hasRole($role) && $role != $roleId) {
parent::removeRole($role);
}
if ($this->hasRoleLoaded($role)) {
$this->_setRoleUnloaded($role);
}
//Zum Cachen freigeben
if ($this->hasCachingAdapter()) {
$this->_getCachingAdapter()->change($role, null);
}
}
//Zum Cachen freigeben:
if ($this->hasCachingAdapter()) {
$this->_getCachingAdapter()->change($roleId, null);
}
return parent::removeRole($roleId);
}