【发布时间】:2017-01-18 01:02:54
【问题描述】:
我有触发事件SlsDispatches.send 的模型SlsInvoices。
然后在我的SlsInvoicesController 中,我有一个名为emit 的操作。
我需要在SlsDispatches.send 事件上触发emit 操作。
SlsInvoices 模型触发事件为:
$event = new Event('SlsDispatches.send', $this, [ 'dispatchId' => $dispatchId ] );
$this->eventManager()->dispatch( $event );
但我无法注册一个侦听器来触发emit 操作。
我试过使用:
$this->eventManager()->on( 'SlsDispatches.send', $this->processSentDispatch() );
其中$this->processSentDispatch() 是进一步调用emit 的操作。
我还尝试使用以下方法在 de 控制器中实现侦听器接口:
public function implementedEvents()
{
return [
'SlsDispatches.send => 'processSentDispatch',
];
}
但是动作没有被触发。
有可能做我想做的事吗?我错过了什么?
谢谢。 问候。 法昆多。
【问题讨论】:
标签: cakephp events cakephp-3.0 event-listener