嘿,我從Zend開始,試圖理解它的工作方式(到達那裏)以及Acl類,人們似乎將所有角色和資源聲明在一個文件中。現在對我來說,如果這個人只是以一個基本用戶的身份登錄,或者甚至只是該網站的訪客/訪問者,這似乎有點浪費系統資源。所以我在想是否有可能設置不同的類,這些類將角色設置爲當前用戶的角色/資源。我現在的想法是在引導中使用switch/case中的角色,並根據角色名稱加載各個Acl類(例如,'visitor'=>'Model_VisitorAcl','users'=>' Model_UserAcl'和'admin'=>'Model_AdminAcl'),每個都有相應的類文件。然後在課堂文件中爲每個文件做一些事情。這是行得通的,目前我可以將所有的'admin'acls定義爲一個(通過admin-user-visitor的權限級別進行回溯),然後在'用戶'中有'用戶' - '訪問者'角色和資源。Zend_Acl模塊化類系統
但是,這似乎並不是最好的方式,就好像我想改變'user'的角色權限一樣,我需要將它改爲'user'和'admin'。這對於2個角色來說不是問題,但是在更大的系統上顯然是這樣。
所以,我想是這樣
class Model_AdminAcl extends Zend_Acl{ function __construct(){ $d = new Model_UserAcl(); //defining the admin role and permissions, with inheritance from the roles //set in Model_UserAcl } }
要嘗試並獲得Model_UserAcl構造函數運行,從而設置角色「用戶」,但是這似乎並沒有工作,拋出「未捕獲的異常‘Zend_Acl_Role_Registry_Exception’帶有'父角色ID'用戶'消息不存在'消息'「 錯誤。
那麼下一步呢?對每個模塊有單獨的包含文件,並且具有所需的類包括它們根據需要?
還是我只是在這個問題上從山麓山上出山?
感謝, 精神科