rector-symfony
rector-symfony copied to clipboard
Add removal of AsEventListener attribute when converting to EventSubscriber
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