
Custom Bundles
Bundle creation, extension configuration, compiler passes, reusable bundles, best practices
1Quelle classe doit étendre la classe principale d'un bundle Symfony ?
Quelle classe doit étendre la classe principale d'un bundle Symfony ?
Réponse
La classe principale d'un bundle Symfony doit étendre AbstractBundle (Symfony 6.1+) ou Bundle. AbstractBundle est recommandée car elle simplifie la configuration et permet de définir la configuration directement dans la classe du bundle via la méthode configure(). Bundle reste disponible pour la rétrocompatibilité mais AbstractBundle offre une API plus moderne.
2Quel est le rôle de la classe Extension dans un bundle Symfony ?
Quel est le rôle de la classe Extension dans un bundle Symfony ?
Réponse
La classe Extension (héritant de ConfigurableExtension ou Extension) est responsable de charger la configuration du bundle et d'enregistrer les services dans le container. Elle lit les fichiers de configuration du bundle, traite les paramètres de l'application et configure les services via le ContainerBuilder. Elle implémente la méthode load() qui est appelée lors de la compilation du container.
3Quelle est la convention de nommage pour la classe principale d'un bundle nommé AcmePaymentBundle ?
Quelle est la convention de nommage pour la classe principale d'un bundle nommé AcmePaymentBundle ?
Réponse
Par convention Symfony, la classe principale du bundle doit porter le même nom que le bundle. Pour AcmePaymentBundle, la classe principale sera AcmePaymentBundle et devra se trouver dans le namespace correspondant, généralement Acme\PaymentBundle. Le fichier sera donc AcmePaymentBundle.php dans le dossier src/ du bundle.
Qu'est-ce qu'un Compiler Pass dans Symfony et quand l'utiliser ?
Comment définir une configuration sémantique pour un bundle avec validation des paramètres ?
+17 questions d'entretien
Autres sujets d'entretien Symfony
PHP Moderne (8.1+)
Les bases de Symfony
Routing & Controllers
Twig & Templates
Doctrine ORM - Les bases
Formulaires Symfony
Validation de données
Dependency Injection & Services
Security & Authentication
Doctrine avancé
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache & Performance
Workflow Component
Testing Symfony
Mailer Component
Translations & i18n
EasyAdmin Bundle
Architecture Symfony
Performance & Optimisation
Sécurité avancée
Microservices avec Symfony
Real-time & WebSockets
Deployment & DevOps
Maîtrise Symfony pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement