
Bundle Personalizzati
Creazione di bundle, configurazione delle extension, compiler pass, bundle riutilizzabili, best practice
1Quale classe deve estendere la classe principale di un bundle in Symfony?
Quale classe deve estendere la classe principale di un bundle in Symfony?
Risposta
La classe principale di un bundle Symfony deve estendere AbstractBundle (Symfony 6.1+) o Bundle. AbstractBundle è consigliata perché semplifica la configurazione e consente di definire la configurazione direttamente nella classe del bundle tramite il metodo configure(). Bundle rimane disponibile per la retrocompatibilità, ma AbstractBundle offre un'API più moderna.
2Qual è il ruolo della classe Extension in un bundle Symfony?
Qual è il ruolo della classe Extension in un bundle Symfony?
Risposta
La classe Extension (che estende ConfigurableExtension o Extension) è responsabile del caricamento della configurazione del bundle e della registrazione dei servizi nel container. Legge i file di configurazione del bundle, elabora i parametri dell'applicazione e configura i servizi tramite il ContainerBuilder. Implementa il metodo load(), che viene chiamato durante la compilazione del container.
3Qual è la convenzione di denominazione per la classe principale di un bundle chiamato AcmePaymentBundle?
Qual è la convenzione di denominazione per la classe principale di un bundle chiamato AcmePaymentBundle?
Risposta
Per convenzione di Symfony, la classe principale del bundle deve avere lo stesso nome del bundle. Per AcmePaymentBundle, la classe principale sarà AcmePaymentBundle e dovrà trovarsi nel namespace corrispondente, generalmente Acme\PaymentBundle. Il file sarà quindi AcmePaymentBundle.php nella cartella src/ del bundle.
Cos'è un Compiler Pass in Symfony e quando va usato?
Come definire una configurazione semantica per un bundle con validazione dei parametri?
+17 domande da colloquio
Altri argomenti di colloquio Symfony
PHP Moderno (8.1+)
Fondamenti di Symfony
Routing & Controllers
Twig & Templates
Fondamenti di Doctrine ORM
Form Symfony
Validazione dei dati
Dependency Injection & Services
Security & Authentication
Doctrine avanzato
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache e prestazioni
Workflow Component
Testing Symfony
Mailer Component
Traduzioni e i18n
EasyAdmin Bundle
Architettura Symfony
Performance e ottimizzazione
Sicurezza avanzata
Microservices con Symfony
Real-time & WebSockets
Deployment & DevOps
Padroneggia Symfony per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis