浏览代码

Passage des listeners en attribut Php

Sangfroid 8 月之前
父节点
当前提交
41137c8577

+ 0 - 24
config/services.yaml

@@ -36,27 +36,3 @@ services:
         arguments:
             $channelId: '%env(MATTERMOST_CHANNEL_ID)%'
             $channelIdAdmin: '%env(MATTERMOST_CHANNEL_ID_ADMIN)%'
-
-    App\Service\FilmCreationListener:
-        arguments:
-            - '@App\Service\Mattermost'
-        tags:
-            - { name: doctrine.event_listener, event: postPersist }
-
-    App\Service\ActivityListener:
-        tags:
-            - { name: kernel.event_listener, event: kernel.controller }
-
-    App\Service\NoteListener:
-        arguments:
-            - '@App\Service\NoteMoyenne'
-        tags:
-        - { name: doctrine.event_listener, event: postPersist }
-        - { name: doctrine.event_listener, event: postUpdate }
-        - { name: doctrine.event_listener, event: postRemove }
-
-    App\Service\RegisterListener:
-        arguments:
-            - '@App\Service\Mattermost'
-        tags:
-            - { name: doctrine.event_listener, event: postPersist }

+ 3 - 1
src/Service/ActivityListener.php

@@ -4,6 +4,7 @@ namespace App\Service;
 use App\Entity\User;
 use Doctrine\ORM\EntityManagerInterface;
 use Symfony\Bundle\SecurityBundle\Security;
+use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
 use Symfony\Component\HttpKernel\Event\ControllerEvent;
 
 class ActivityListener
@@ -11,7 +12,8 @@ class ActivityListener
     public function __construct(protected EntityManagerInterface $em, protected Security $security)
     {
     }
-
+    
+    #[AsEventListener(event: 'kernel.controller')]
     public function onKernelController(ControllerEvent $event): void
     {
         // Check that the current request is a "MASTER_REQUEST"

+ 3 - 0
src/Service/FilmCreationListener.php

@@ -5,9 +5,12 @@ namespace App\Service;
 use App\Entity\Commentaire;
 use App\Entity\Film;
 use App\Entity\MediaVideo;
+use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener;
 use Doctrine\ORM\Event\PostPersistEventArgs;
+use Doctrine\ORM\Events;
 use Symfony\Component\Config\Definition\Exception\Exception;
 
+#[AsDoctrineListener(event: Events::postPersist)]
 class FilmCreationListener
 {
     public function __construct(protected Mattermost $mattermostSender)

+ 13 - 5
src/Service/NoteListener.php

@@ -2,28 +2,36 @@
 
 namespace App\Service;
 
-use App\Entity\Commentaire;;
+use App\Entity\Commentaire;
+use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener;
+use Doctrine\ORM\Event\PostPersistEventArgs;
+use Doctrine\ORM\Event\PostRemoveEventArgs;
+use Doctrine\ORM\Event\PostUpdateEventArgs;
+use Doctrine\ORM\Events;
 use Doctrine\Persistence\Event\LifecycleEventArgs;
 
 
+#[AsDoctrineListener(event: Events::postPersist)]
+#[AsDoctrineListener(event: Events::postUpdate)]
+#[AsDoctrineListener(event: Events::postRemove)]
 class NoteListener
+
 {
     public function __construct(protected NoteMoyenne $noteMoyenne)
     {
     }
 
-    public function postPersist(LifecycleEventArgs $args): void
+    public function postPersist(PostPersistEventArgs $args): void
     {
         $this->calculer($args);
-
     }
 
-    public function postUpdate (LifecycleEventArgs $args): void
+    public function postUpdate (PostUpdateEventArgs $args): void
     {
         $this->calculer($args);
     }
 
-    public function postRemove (LifecycleEventArgs $args): void
+    public function postRemove (PostRemoveEventArgs $args): void
     {
         $this->calculer($args);
     }

+ 5 - 1
src/Service/RegisterListener.php

@@ -3,16 +3,20 @@
 namespace App\Service;
 
 use App\Entity\User;
+use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener;
+use Doctrine\ORM\Event\PostPersistEventArgs;
+use Doctrine\ORM\Events;
 use Doctrine\Persistence\Event\LifecycleEventArgs;
 
 
+#[AsDoctrineListener(event: Events::postPersist)]
 class RegisterListener
 {
     public function __construct(protected Mattermost $mattermostSender)
     {
     }
 
-    public function postPersist(LifecycleEventArgs $args): void
+    public function postPersist(PostPersistEventArgs $args): void
     {
         $entity = $args->getObject();
         if (!$entity instanceof User) {