créer un abonné et enregistrer un nouveau service, ce que je fais: https://gist.github.com/Draeli/2c591c16409a5664ae58Symfony2 doctrine de l'abonné d'appel et d'autres
<?php
namespace My\BlogBundle\Listener;
use Doctrine\ORM\Events;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
class BlogArticleDetailListener implements EventSubscriberInterface
{
/**
* @var ContainerInterface
*/
protected $container;
public function __construct(ContainerInterface $container)
{
$this->container = $container;
}
static public function getSubscribedEvents()
{
return array(
'doctrine.event_subscriber' => array(
array(Events::prePersist, 0),
array(Events::preUpdate, 0),
),
);
}
public function prePersist(FilterResponseEvent $event)
{
var_dump('prePersist');die;
}
public function preUpdate(FilterResponseEvent $event)
{
var_dump('preUpdate');die;
}
}
services:
my_blog.listener.blog_article_detail:
class: My\BlogBundle\Listener\BlogArticleDetailListener
arguments: ["@service_container"]
tags:
- { name: kernel.event_subscriber }
Mais ces méthodes de cas PrePersist et PreUpdate malgré je persiste des objets, comme si Doctrine n'a pas envoyé. Quelqu'un sait ce qui est fort dans ce que je fais?
(Pour plus d'explications, maintenant je vous inscrire seul événement de doctrine, mais après que j'enregistrerai plus de même endroit)
C'était ma première approche et fonctionne mais cet auditeur est supposé être pour un genre d'objet et non seulement enregistrer l'événement de doctrine et quand j'essaye de modifier mon code tout l'automne :( – Draeli
Je ne vous comprends pas. essayer de combiner la doctrine et les événements Symfony dans la même classe? – qooplmao
J'essaie de faire quelque chose comme ça oui: http://symfony.com/doc/current/components/event_dispatcher/introduction.html#using-event-subscribers – Draeli