Php 在Zend_ACL中列出规则

Php 在Zend_ACL中列出规则,php,zend-framework,zend-acl,Php,Zend Framework,Zend Acl,我正在使用zend_acl管理web应用程序中的acl列表。 为了能够显示“管理权限”对话框,我需要为以下组合获取定义的规则: -为特定资源上的特定角色设置的规则 -为特定资源上的角色设置的所有规则(谁对此具有哪些权限) -为任何资源上的特定角色设置的所有规则(角色具有哪些权限) 为了能够显示完整的列表,必须始终有一个附加列表,其中包含从父角色/资源继承的规则 您知道如何解决这个问题吗?您可以通过这种方式检索所有角色和资源 $acl = new Application_Model_Acl();

我正在使用zend_acl管理web应用程序中的acl列表。 为了能够显示“管理权限”对话框,我需要为以下组合获取定义的规则:
-为特定资源上的特定角色设置的规则
-为特定资源上的角色设置的所有规则(谁对此具有哪些权限)
-为任何资源上的特定角色设置的所有规则(角色具有哪些权限)
为了能够显示完整的列表,必须始终有一个附加列表,其中包含从父角色/资源继承的规则


您知道如何解决这个问题吗?

您可以通过这种方式检索所有角色和资源

$acl = new Application_Model_Acl();
$acl->getRegisteredRoles(); // roles instances
$acl->getRoles(); //array
$acl->getResources(); //array
我认为您必须扩展Zend_Acl来检索“每个角色的注册资源”


如果项目是如此“扩展”,通常我会从数据库中生成Acl,但我在我身边创建了一个Zend_Acl扩展

为了概述,我们创建了一个表,其中横向是资源,纵向是角色(按照MiPnamic的建议接收)。在表的主体中有0和1(允许,拒绝)。它很好用

首先,getRegisteredRoles从1.10版开始就被弃用了,getRoles是它的替代品。谢谢你,MiPnamic,我会这样做的