我在 Yii2 事务中触发了一个事件,我想知道事件处理程序是成功提交事务,还是回滚失败。
全局变量或类 const 是正确的方式吗?
我现在所做的是在事件处理程序中引发错误。
我在 Yii2 事务中触发了一个事件,我想知道事件处理程序是成功提交事务,还是回滚失败。
全局变量或类 const 是正确的方式吗?
我现在所做的是在事件处理程序中引发错误。
通常你使用事件对象来存储事件的状态。创建自定义事件:
class MyEvent extends Event {
public $isCommited = false;
}
在触发器上使用它并检查结果:
$event = new MyEvent();
$this->trigger('myEvent', $event);
if ($event->isCommited) {
// do something
}
在事件处理程序中,您需要设置此属性:
function ($event) {
// do something
$event->isCommited = true;
}
如果您想中断事件流,您可以使用$handled
属性而不是isCommited
自定义事件。