Doctrine orm 第2条事件

Doctrine orm 第2条事件,doctrine-orm,doctrine,zend-framework2,Doctrine Orm,Doctrine,Zend Framework2,我正在尝试在条令中设置一个事件触发器,以便能够访问querybuilder 我已在模块中设置了侦听器: $doctrineEventManager = $e->getApplication()->getServiceManager()->get('doctrine.eventmanager.default_orm'); $doctrineEventManager->addEventListener('example', function($eventArgs) {

我正在尝试在条令中设置一个事件触发器,以便能够访问querybuilder

我已在模块中设置了侦听器:

$doctrineEventManager = $e->getApplication()->getServiceManager()->get('doctrine.eventmanager.default_orm');

$doctrineEventManager->addEventListener('example', function($eventArgs) {
                die("event");
     });
在我的存储库中:

$this->getEntityManager()->getEventManager()->dispatchEvent('example', $query);
但似乎我做错了什么或错过了什么,因为它不起作用

我找不到一个方法来实现这个简单的程序


谢谢。

您必须使用所需的事件函数定义一个类,以便自动调用该类

$doctrineEventManager->addEventListener('example', new ExampleEvent());
然后,创建ExampleEvent类并添加“example”函数:

<?php
class ExampleEvent {
        public function example($eventArgs) {
                // do whatever you want..
        }
}
我没有试过,但简而言之,会是这样的

$this->getEntityManager()->getEventManager()->dispatchEvent('example', $eventArgs);