當CakePHP的深化發展應用我來到conclussion,有一個使用的前綴,比如管理員,當大量的冗餘數據,主持人等CakePHP的ACL沒有前綴的方法
當週圍的Googling了一下,我發現了一個答覆通過zuha-3 http://cakephp.1045679.n5.nabble.com/Going-back-to-school-ACL-td4941972.html#a4949876
在我們的應用程序中,我們保持前綴路由,但擺脫了方法路由。 所以我們還是得到了
$this->params->params['prefix']
但路由用戶 到index()
方法而不是admin_index()
方法。然後我們將 完全留給ACL來決定你的角色是否已經訪問 到索引函數。這使我們能夠擺脫50%的文件視圖和50%的控制器方法。我們可以有在不同的用戶角色不同的看法,我們分配 視圖前綴用戶角色。因此,我們可以有一個管理視圖,所有 用戶管理員用戶角色將看到/Posts/View/Posts/admin/index.ctp的 代替 /Posts/View/Posts/index.ctp,當且僅當管理員視圖存在。我們 可以做同樣的事,管理者,使用者等,並把它留給 每個應用程序,以決定是否管理者會看到管理視圖或 經理視圖或客人視圖。
所以這將拿出大量的冗餘方法。
有沒有人有某種關於如何做到這一點的主要信息或有用的信息。
例如我有admin en版主,他們的權利幾乎與其他人相似,但不是創建兩個具有完全相同邏輯的方法是多餘的。如果您需要提交更改,它也會變得最糟糕。意見可以完全不同。 我想我只是想要兩個最好的... – MitchVdl
根據您的意見編輯答案。 – Oldskool
是的,我可以看到這是如何工作的索引頁面。即使確定要顯示或不顯示的鏈接也是一個好主意。但是你仍然有同樣的問題:在你的控制器中有兩個(或更多)方法做同樣的事情。但是通過反覆反思,這些變化需要更多的核心工作......我認爲這個想法就像這樣:例子。com/prefix/controller/action>將映射到controller :: prefix_action,並帶有視圖prefix_action.ctp。但是如果有可能檢查方法是否存在,那麼比默認的映射其他,所有自主? – MitchVdl