传递来自听众的消息

时间:2015-11-07 22:17:35

标签: cakephp cakephp-3.0

我有一个事件,我在我的模型中创建之前保存功能:

  public function beforeSave(Event $event, Entity $entity) {
    $event = new Event('Model.Transaction.createTransaction', $this, [
      'transaction' => $entity
    ]);
    $this->eventManager()->dispatch($event);

    if ($event->isStopped()) {
      return FALSE;
    }
  }

我创建的一个监听器抓住了这个:

public function implementedEvents() {
  return [
    'Model.Transaction.createTransaction' => 'createHistorical'
  ];
}

一切正常。我想知道的是,是否有任何方法可以将消息传递回注册事件的模型。因此,如果出现故障或其他原因,我可以将消息传递回模型并将其添加到要在表单上显示的错误中吗?

1 个答案:

答案 0 :(得分:1)

您可以从回调方法(在您的案例中为createHistorical)中返回一个值,该值可在调度完成后使用$event->result访问。