Php zend框架中第三类添加角色的不同

Php zend框架中第三类添加角色的不同,php,zend-framework,roles,acl,Php,Zend Framework,Roles,Acl,在zend框架中,我们可以在三种类型中添加acl,我想知道它们之间有什么不同 $acl = new Zend_Acl(); // 1st type $acl -> addRole(new Zend_Acl_Role('someuser')); // 2nd type $acl -> add (new Zend_Acl_Role('someuser')); // 3rd type $acl -> addRole('someuser'); 第一个和第三个完全相同。根本没有区别。

在zend框架中,我们可以在三种类型中添加acl,我想知道它们之间有什么不同

$acl = new Zend_Acl();
// 1st type
$acl -> addRole(new Zend_Acl_Role('someuser'));
// 2nd type
$acl -> add (new Zend_Acl_Role('someuser'));
// 3rd type
$acl -> addRole('someuser');

第一个和第三个完全相同。根本没有区别。 addRole函数中会发生以下情况:

if (is_string($role)) {
    $role = new Zend_Acl_Role($role);
}
由于
$role
是给定的参数,因此两者是相同的


第二种类型已弃用(并用于资源),因此应避免使用它。

ZF是开源的,所以请查看。如果这仍然不能回答您的问题,请指出您不了解的源代码。不看源代码而简单地问有什么区别是非常懒惰的。