7

イベントをトリガーする際に問題が発生しています。これが私のコードです...

controller.php

function get($id) 
{
    $this->getEventManager()->trigger('hmac.check');
}

このトリガーが実行されると、アタッチされていても hmac.check イベントは実行されません。

モジュール.php

class Module
{
    /**
     * Init the methods
     *
     * @param ModuleManager $moduleManager
     */
    public function init(ModuleManager $mm)
    {
        $mm->getEventManager()
           ->attach(
               'hmac.check',
               function(MvcEvent $evt)
               {
                   echo "The trigger has worked";
                   $key = $evt->getParams()->fromHeader('key');
                   $ts = $evt->getParams()->fromHeader('when');
                   $uri = $evt->getParams()->fromHeader('uri');

                   $hmac = new \Scc\Hmac\Hmac(new HmacConfig, new HmacStorage);
               }
        );
    }
}

$mm->getEventManager->attach(); の前後にメッセージをエコーアウトすると、テストがうまく表示されるので、initメソッドを実行していることがわかります。

これについての助けは素晴らしいでしょう。

前もって感謝します

編集:これは、違いがある場合は安らかなコントローラーです(そうは思わない)。

4

1 に答える 1