
Custom Bundles
Bundle-creatie, extension-configuratie, compiler passes, herbruikbare bundles, best practices
1Welke klasse moet de hoofdklasse van een bundle uitbreiden in Symfony?
Welke klasse moet de hoofdklasse van een bundle uitbreiden in Symfony?
Antwoord
De hoofdklasse van een Symfony-bundle moet AbstractBundle (Symfony 6.1+) of Bundle uitbreiden. AbstractBundle wordt aanbevolen omdat het de configuratie vereenvoudigt en het mogelijk maakt de configuratie rechtstreeks in de bundle-klasse te definiëren via de methode configure(). Bundle blijft beschikbaar voor achterwaartse compatibiliteit, maar AbstractBundle biedt een modernere API.
2Wat is de rol van de Extension-klasse in een Symfony-bundle?
Wat is de rol van de Extension-klasse in een Symfony-bundle?
Antwoord
De Extension-klasse (die ConfigurableExtension of Extension uitbreidt) is verantwoordelijk voor het laden van de bundle-configuratie en het registreren van services in de container. Ze leest de configuratiebestanden van de bundle, verwerkt de applicatieparameters en configureert de services via de ContainerBuilder. Ze implementeert de methode load() die tijdens de containercompilatie wordt aangeroepen.
3Wat is de naamgevingsconventie voor de hoofdklasse van een bundle genaamd AcmePaymentBundle?
Wat is de naamgevingsconventie voor de hoofdklasse van een bundle genaamd AcmePaymentBundle?
Antwoord
Volgens de Symfony-conventie moet de hoofdklasse van de bundle dezelfde naam hebben als de bundle. Voor AcmePaymentBundle is de hoofdklasse AcmePaymentBundle en moet zich in de bijbehorende namespace bevinden, doorgaans Acme\PaymentBundle. Het bestand is daarom AcmePaymentBundle.php in de map src/ van de bundle.
Wat is een Compiler Pass in Symfony en wanneer moet je het gebruiken?
Hoe definieer je een semantische configuratie voor een bundle met parametervalidatie?
+17 gespreksvragen
Andere Symfony-sollicitatieonderwerpen
Modern PHP (8.1+)
Symfony-basis
Routing & Controllers
Twig & Templates
Doctrine ORM-basisbeginselen
Symfony Formulieren
Datavalidatie
Dependency Injection & Services
Security & Authentication
Geavanceerd Doctrine
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache & prestaties
Workflow Component
Testing Symfony
Mailer Component
Vertalingen & i18n
EasyAdmin Bundle
Symfony-architectuur
Prestaties & optimalisatie
Geavanceerde beveiliging
Microservices met Symfony
Real-time & WebSockets
Deployment & DevOps
Beheers Symfony voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis