# Events & Event Subscribers (Symfony) > EventDispatcher, event subscribers, listeners, kernel events, custom events, priorities - 20 questions d'entretien - Confirmé - [Questions d'entretien: Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien.md) ## 1. Quel est le rôle principal du composant EventDispatcher dans Symfony ? **Réponse** Le composant EventDispatcher implémente le pattern Observer et permet de découpler les différentes parties d'une application. Il centralise la gestion des événements en permettant à des listeners de réagir à des événements dispatchés sans que les composants ne se connaissent directement. Cela favorise une architecture modulaire et extensible où de nouvelles fonctionnalités peuvent être ajoutées sans modifier le code existant. ## 2. Quelle est la différence principale entre un Event Listener et un Event Subscriber dans Symfony ? **Réponse** Un Event Subscriber implémente l'interface EventSubscriberInterface et définit ses événements écoutés via la méthode statique getSubscribedEvents(). Un Listener est une classe ou callable configurée via services.yaml ou l'attribut #[AsEventListener]. Le Subscriber est autodescriptif et plus portable, tandis que le Listener offre plus de flexibilité dans la configuration externe. ## 3. Comment déclarer un Event Subscriber dans Symfony avec l'interface appropriée ? **Réponse** Un Event Subscriber doit implémenter EventSubscriberInterface et définir la méthode statique getSubscribedEvents() qui retourne un tableau associatif. Les clés sont les noms d'événements et les valeurs peuvent être le nom de la méthode, un tableau avec méthode et priorité, ou un tableau de tableaux pour plusieurs méthodes sur le même événement. ## 17 questions supplémentaires disponibles - Quel événement kernel est déclenché en premier lors du traitement d'une requête HTTP dans Symfony ? - Comment fonctionne le système de priorité des événements dans Symfony ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Symfony - [PHP Moderne (8.1+)](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/php-modern-features.md): 20 questions, Junior - [Les bases de Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/symfony-basics.md): 25 questions, Junior - [Routing & Controllers](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/routing-controllers.md): 20 questions, Junior - [Twig & Templates](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/twig-templates.md): 20 questions, Junior - [Doctrine ORM - Les bases](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/doctrine-orm-basics.md): 25 questions, Junior - [Formulaires Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/forms.md): 22 questions, Junior - [Validation de données](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/validation.md): 18 questions, Junior - [Dependency Injection & Services](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/dependency-injection.md): 24 questions, Confirmé - [Security & Authentication](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/security-authentication.md): 26 questions, Confirmé - [Doctrine avancé](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/doctrine-advanced.md): 24 questions, Confirmé - [API Platform](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/api-platform.md): 22 questions, Confirmé - [Serializer Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/serializer.md): 20 questions, Confirmé - [Console & Commands](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/console-commands.md): 18 questions, Confirmé - [Messenger Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/messenger.md): 22 questions, Confirmé - [HTTP Client](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/http-client.md): 18 questions, Confirmé - [Cache & Performance](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/cache.md): 20 questions, Confirmé - [Workflow Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/workflow.md): 18 questions, Confirmé - [Testing Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/testing.md): 22 questions, Confirmé - [Mailer Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/mailer.md): 16 questions, Confirmé - [Translations & i18n](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/translations.md): 16 questions, Confirmé - [EasyAdmin Bundle](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/easyadmin.md): 18 questions, Confirmé - [Architecture Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/architecture-patterns.md): 24 questions, Senior - [Performance & Optimisation](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/performance-optimization.md): 22 questions, Senior - [Sécurité avancée](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/security-advanced.md): 22 questions, Senior - [Custom Bundles](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/custom-bundles.md): 20 questions, Senior - [Microservices avec Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/microservices.md): 22 questions, Senior - [Real-time & WebSockets](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/real-time.md): 18 questions, Senior - [Deployment & DevOps](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/deployment-devops.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/symfony/questions-entretien/events-subscribers