我在触发事件时遇到问题。这是我的代码...
控制器.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 方法。
对此的任何帮助都会很棒。
提前致谢
编辑:这是一个安静的控制器,如果这有什么不同的话(我认为没有)。