2014-05-06 26 views
2
class Module 
{ 
    public function onBootstrap(MvcEvent $e) 
    { 
     $event->getSharedManager() 
      ->attach('Zend\Mvc\Controller\AbstractActionController', 
        'dispatch', 
     function($e) { 
       $controller = $e->getTarget(); 

      //check if logged in, setting up the userid variable of controllers 
      if ($e->getApplication()->getServiceManager()->get('AuthService') 
              ->hasIdentity()) { 
        $users = $e->getApplication()->getServiceManager() 
          ->get('SanAuth\Model\AuthStorage')->read(); 

        $controller->userid = $users['id']; 
      } 
     }, 100); 
    } 
} 
+1

這是一個優先考慮;一個事件的優先級值越高,相對於其他事件就會越早觸發 –

回答

0

從文檔:

附加連接(字符串$事件,回調$回調,詮釋$優先級)

重視$回調到EventManager實例,監聽事件$ event 。 如果提供$優先級,則使用該優先級將偵聽器插入到內部偵聽器堆棧中,即 ;值最早執行的值爲 。 (默認優先級爲「1」,而負 的優先級是允許的。)

在這裏閱讀更多:http://framework.zend.com/manual/2.0/en/modules/zend.event-manager.event-manager.html

+0

如果我用最後一個參數100,200和-100附加了3個事件,請讓我更加清楚:然後200個事件被賦予更高的優先權,然後是100,並持續-100。我對麼。 – Madan

相關問題