在symfony2 Docs中,他们说要使用此代码
$listener = new AcmeListener();
$dispatcher->addListener('foo.action', array($listener, 'onFooAction'));
我有两个问题
- 我需要在哪个文件中写入该行
- 我可以在第一个参数中写什么其他事件,例如
foo.action
。我的意思是事件buitin或教义事件或symfony事件或自定义
在symfony2 Docs中,他们说要使用此代码
$listener = new AcmeListener();
$dispatcher->addListener('foo.action', array($listener, 'onFooAction'));
我有两个问题
foo.action
。我的意思是事件buitin或教义事件或symfony事件或自定义如果您将组件用作框架的一部分,则不需要。只需声明一个标记为事件侦听器的服务。就该事件而言,它是自定义事件的示例。您可以随意命名您的活动。
你必须像这样在你的控制器中写
if ($form->isValid()) {
$em = $this->getDoctrine()->getEntityManager();
$em->persist($entity);
$em->flush();
$dispatcher = $this->container->get('event_dispatcher');
$dispatcher->dispatch('your.event.name', new YourEvent($entity));
}