Symfony

Bundle Personalizzati

Creazione di bundle, configurazione delle extension, compiler pass, bundle riutilizzabili, best practice

20 domande da colloquio·
Senior
1

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.

2

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.

3

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.

4

Cos'è un Compiler Pass in Symfony e quando va usato?

5

Come definire una configurazione semantica per un bundle con validazione dei parametri?

+17 domande da colloquio

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