Symfony

Bundles Personalizados

Creación de bundles, configuración de extensiones, compiler passes, bundles reutilizables, mejores prácticas

20 preguntas de entrevista·
Senior
1

¿Qué clase debe extender la clase principal de un bundle de Symfony?

Respuesta

La clase principal de un bundle Symfony debe extender AbstractBundle (Symfony 6.1+) o Bundle. AbstractBundle es recomendable porque simplifica la configuración y permite definir la configuración directamente en la clase del bundle a través del método configure(). Bundle sigue disponible por retrocompatibilidad, pero AbstractBundle ofrece una API más moderna.

2

¿Cuál es el rol de la clase Extension en un bundle de Symfony?

Respuesta

La clase Extension (que hereda de ConfigurableExtension o Extension) se encarga de cargar la configuración del bundle y registrar los servicios en el contenedor. Lee los archivos de configuración del bundle, procesa los parámetros de la aplicación y configura los servicios a través del ContainerBuilder. Implementa el método load(), que se invoca durante la compilación del contenedor.

3

¿Cuál es la convención de nomenclatura para la clase principal de un bundle llamado AcmePaymentBundle?

Respuesta

Por convención de Symfony, la clase principal del bundle debe tener el mismo nombre que el bundle. Para AcmePaymentBundle, la clase principal será AcmePaymentBundle y deberá estar en el namespace correspondiente, generalmente Acme\PaymentBundle. Por lo tanto, el archivo será AcmePaymentBundle.php en la carpeta src/ del bundle.

4

¿Qué es un Compiler Pass en Symfony y cuándo se debe usar?

5

¿Cómo definir una configuración semántica para un bundle con validación de parámetros?

+17 preguntas de entrevista

Domina Symfony para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis