
Bundles Personalizados
Creación de bundles, configuración de extensiones, compiler passes, bundles reutilizables, mejores prácticas
1¿Qué clase debe extender la clase principal de un bundle de Symfony?
¿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?
¿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?
¿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.
¿Qué es un Compiler Pass en Symfony y cuándo se debe usar?
¿Cómo definir una configuración semántica para un bundle con validación de parámetros?
+17 preguntas de entrevista
Otros temas de entrevista Symfony
PHP Moderno (8.1+)
Fundamentos de Symfony
Routing & Controllers
Twig & Templates
Fundamentos de Doctrine ORM
Formularios Symfony
Validación de datos
Dependency Injection & Services
Security & Authentication
Doctrine avanzado
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache y Rendimiento
Workflow Component
Testing Symfony
Mailer Component
Traducciones e i18n
EasyAdmin Bundle
Arquitectura Symfony
Rendimiento y optimización
Seguridad avanzada
Microservices con Symfony
Real-time & WebSockets
Deployment & DevOps
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