我正在使用Symfont RC5,我試圖讓事件監聽器prePersist
啓動。Symfony2 Event_listener not firing
在app/config/config.yml
我: -
services:
recordmanagement:
class: FNQITServices\BMBundle\Listener\RecordManagement
tags:
- { name: doctrine.event_listener, event: prePersist }
我創建了一個類src/FNQITServices/BMBundle/Listener/RecordManagement.php
: -
<?php
namespace FNQITServices\BMBundle\Listener;
use Doctrine\ORM\Event\LifecycleEventArgs;
use FNQITServices\BMBundle\Entity\Elections;
use FNQITServices\BMBundle\Entity\People;
class RecordManagement
{
public function prePersist(LifecycleEventArgs $args)
{
`echo "amibeingcalled" > /tmp/test`;
$entity = $args->getEntity();
$entityManager = $args->getEntityManager();
// perhaps you only want to act on some "Product" entity
if ($entity instanceof Elections) {
$person = $this->getDoctrine()
->getRepository('FNQITServicesBMBundle:People')
->find(2);
$entity->setCreator($person);
}
}
}
但插入活動期間不發了。即文件/tmp/test
未被創建。
- 我注意到,有
kernel.event_listener
,我注意到,這曾經是kernel.listener
了幾個版本回 - 我試過在配置「標籤」屬性的各種組合。
- 我禁用生命週期註解,我在選舉中有實體(櫃面有一些衝突)
- 我看在控制檯日誌,事件......,試圖找到問題的任何提及
我正在使用Sonata的CRUD。不知道這是否有任何分歧。
很肯定我嘗試過這樣的事情......我最終在src/ACME/BMBundle/Resources/config下創建了services.xml,然後它似乎可以獲取偵聽器定義。所以在config.yml中有問題。 – user1267674 2012-04-11 06:44:52