# Custom Bundles (Symfony) > Bundle-creatie, extension-configuratie, compiler passes, herbruikbare bundles, best practices - 20 gespreksvragen - Senior - [Gespreksvragen: Symfony](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen.md) ## 1. 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. ## 2. 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. ## 3. 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. ## Nog 17 vragen beschikbaar - Wat is een Compiler Pass in Symfony en wanneer moet je het gebruiken? - Hoe definieer je een semantische configuratie voor een bundle met parametervalidatie? Meld je gratis aan: https://sharpskill.dev/nl/login ## Andere Symfony-sollicitatieonderwerpen - [Modern PHP (8.1+)](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/php-modern-features.md): 20 vragen, Junior - [Symfony-basis](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/symfony-basics.md): 25 vragen, Junior - [Routing & Controllers](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/routing-controllers.md): 20 vragen, Junior - [Twig & Templates](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/twig-templates.md): 20 vragen, Junior - [Doctrine ORM-basisbeginselen](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/doctrine-orm-basics.md): 25 vragen, Junior - [Symfony Formulieren](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/forms.md): 22 vragen, Junior - [Datavalidatie](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/validation.md): 18 vragen, Junior - [Dependency Injection & Services](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/dependency-injection.md): 24 vragen, Mid-Level - [Security & Authentication](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/security-authentication.md): 26 vragen, Mid-Level - [Geavanceerd Doctrine](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/doctrine-advanced.md): 24 vragen, Mid-Level - [API Platform](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/api-platform.md): 22 vragen, Mid-Level - [Serializer Component](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/serializer.md): 20 vragen, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/events-subscribers.md): 20 vragen, Mid-Level - [Console & Commands](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/console-commands.md): 18 vragen, Mid-Level - [Messenger Component](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/messenger.md): 22 vragen, Mid-Level - [HTTP Client](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/http-client.md): 18 vragen, Mid-Level - [Cache & prestaties](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/cache.md): 20 vragen, Mid-Level - [Workflow Component](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/workflow.md): 18 vragen, Mid-Level - [Testing Symfony](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/testing.md): 22 vragen, Mid-Level - [Mailer Component](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/mailer.md): 16 vragen, Mid-Level - [Vertalingen & i18n](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/translations.md): 16 vragen, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/easyadmin.md): 18 vragen, Mid-Level - [Symfony-architectuur](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/architecture-patterns.md): 24 vragen, Senior - [Prestaties & optimalisatie](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/performance-optimization.md): 22 vragen, Senior - [Geavanceerde beveiliging](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/security-advanced.md): 22 vragen, Senior - [Microservices met Symfony](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/microservices.md): 22 vragen, Senior - [Real-time & WebSockets](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/real-time.md): 18 vragen, Senior - [Deployment & DevOps](https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/deployment-devops.md): 20 vragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/technologies/symfony/sollicitatievragen/custom-bundles