Skip to content

Add removal of AsEventListener attribute when converting to EventSubscriber#588

Closed
stefantalen wants to merge 1 commit intorectorphp:mainfrom
stefantalen:patch-1
Closed

Add removal of AsEventListener attribute when converting to EventSubscriber#588
stefantalen wants to merge 1 commit intorectorphp:mainfrom
stefantalen:patch-1

Conversation

@stefantalen
Copy link
Copy Markdown
Contributor

@stefantalen stefantalen commented Mar 8, 2024

Current behaviour results in a mixed result when the #AsEventListener attribute has been used:

 namespace App\EventListener;

+use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 use App\Exception\Http\RestHttpExceptionInterface;
 use FOS\RestBundle\View\View;
 use FOS\RestBundle\View\ViewHandlerInterface;
@@ @@
 use Symfony\Component\HttpKernel\KernelEvents;

 #[AsEventListener(KernelEvents::EXCEPTION, method: 'onKernelException', priority: 10)]
-class RestExceptionListener
+class RestExceptionEventSubscriber implements EventSubscriberInterface
 {
     public function __construct(
         protected ViewHandlerInterface $viewHandler,
@@ @@
             $response = $this->viewHandler->handle($view);
             $event->setResponse($response);
         }
+    }
+    /**
+     * @return array<string, mixed>
+     */
+    public static function getSubscribedEvents(): array
+    {
+        return [KernelEvents::EXCEPTION => ['onKernelException', 10]];
     }
 }

Since the rule is there to convert a Listener to a Subscriber it makes sense to remove the attribute right?

Todo:

  • Add fixture(s)
  • Code formatting

@stefantalen
Copy link
Copy Markdown
Contributor Author

A solution has been provided in #616, closing this

@TomasVotruba
Copy link
Copy Markdown
Member

Thanks for checking 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants