1

Zend Framework を使用して、アプリケーション/モジュールにイベントをアタッチして、すべてのモジュールに対してすべてのディスパッチ イベントでこの関数が呼び出されるようにします。これは私のコードです:

class Module { public function getConfig() { return include DIR . '/../config/module.config.php'; }

public function onBootstrap(MvcEvent $event)
{
    $application = $event->getApplication();
    $serviceManager = $application->getServiceManager();
    $sessionManager = $serviceManager->get(SessionManager::class);

    // Get event manager.
    $eventManager = $event->getApplication()->getEventManager();
    $sharedEventManager = $eventManager->getSharedManager();

    // Register the event listener method onDispatch
    $sharedEventManager->attach(AbstractActionController::class, 
            MvcEvent::EVENT_DISPATCH, [$this, 'onDispatch'], 100);
}

public function onDispatch(MvcEvent $event)
{
    // Will perform application wide ACL control based on controller,
    // action and user data.
}

}

アプリケーション画面が読み込まれているにもかかわらず、何らかの理由で onDispatch が呼び出されません。

何が欠けているのかわからない。私の知る限り、アプリケーション全体で有効にするには、共有イベント マネージャーを使用する必要があります。

助けていただければ幸いです。

4

1 に答える 1