好的,我有一個問題,但我認爲它不是那麼複雜,所以如果有人幫助我會很好。 1)我有擴展AbstractRestfulController的UserController,它工作正常。 2)然後我需要檢查訪問該控制器的權限。如果我在每個控制器中使用「checkPermission」方法,它的工作效果很好,但我想在preDispatch事件中完成此方法。這裏有一些問題: 我這樣做: Module.phpZF2 REST API + ACL不返回predispatch中的動作名稱
public function onBootstrap(MvcEvent $e)
{
$em = $e->getApplication()->getEventManager();
$em->attach('dispatch', array($this, 'preDispatch'), +100);
}
我的方法 「的checkPermission」 檢查,像這樣(沒有什麼特別的,我認爲):
if (!$this->isAllowed($role, $this->routeMatch->getParam('controller'), $this->routeMatch->getParam('action'))) {
所以問題:getParam('action')返回null(這意味着,在preDispatch事件中,應用程序不知道它需要執行什麼操作)。我怎樣才能讓它像我想要的那樣工作?或者這裏是主要問題:getParam('action')何時可以返回值?只有在onDispatch事件?