私はSymfont RC5を使用していますが、イベントリスナーprePersist
を起動しようとしています。Symfony2 Event_listenerが起動しない
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
いくつかのバージョンにするために使用ことに気づきました。私は(いくつかの競合があった包み)- 私はコンソールログで見てきた、選挙エンティティでのイベント...試してみて、問題の一切の言及を見つけるために持っていた
- I無効ライフサイクル注釈
私はSonataのCRUDを使用しています。違いがあれば分かりません。
かなり確信して私はこのようなことを試みました... src/ACME/BMBundle/Resources/configの下にservices.xmlを作成してしまい、リスナー定義を取得したようです。ですから、config.ymlでそれを持つことが問題でした。 – user1267674