Arquitectura y petición · Pregunta 1 de 12
¿Qué forma de inyección de dependencias recomienda TYPO3 para los servicios propios?
1 respuesta es correcta. Fácil
Mostrar solución
Solución
- C Inyección por constructor: las dependencias se declaran como parámetros del constructor
Explicación
TYPO3 utiliza el contenedor de servicios de Symfony, que detecta las dependencias automáticamente (autowiring) y las entrega al crear un servicio. Se recomienda la inyección por constructor, por ejemplo public function __construct(private readonly ProductRepository $productRepository) {}: la clase muestra de un vistazo lo que necesita y en los tests se le pueden pasar fácilmente dobles de prueba. Los métodos inject*() solo están pensados para clases base abstractas cuyo constructor no debe cargar a las subclases. GeneralUtility::makeInstance() oculta las dependencias dentro del código y hoy en día es solo la excepción para los servicios.