我使用symfony和简单的管理员,我想监听事件easy_admin.pre_persist
。Symfony添加事件监听器
在易于管理控制器,它调用此事件是这样的:
$this->dispatch(EasyAdminEvents::PRE_PERSIST, array('entity' => $entity));
这consts:
/** @Event("Symfony\Component\EventDispatcher\GenericEvent") */
const PRE_PERSIST = 'easy_admin.pre_persist';
如果我在同一个控制器添加监听此事件是这样的:
$ed = $this->get('event_dispatcher');
$ed->addListener('easy_admin.pre_persist', function($e) {
echo 'it works!';
die();
});
...它的工作原理。
但我想添加此监听器在其他地方。我认为services.yml将是它的好地方。我已阅读Sf文档,我应该添加这种方式的服务:
# app/config/services.yml
services:
app.exception_listener:
class: AppBundle\EventListener\ExceptionListener
tags:
- { name: kernel.event_listener, event: kernel.exception }
但有2个属性 - 名称和事件。我只知道活动名称,easy_admin.pre_persist
。
它是如何工作的?什么是name
这个事件和什么是event
? 如果我可以添加监听器easy_admin.pre_persist
如何将此监听器添加到services.yml?