Laravel

Service Container & DI

Dependency injection, service providers, binding, singletons, contextual binding, resolución del container, facades

20 preguntas de entrevista·
Mid-Level
1

¿Qué es el Service Container en Laravel?

Respuesta

El Service Container es una herramienta potente para gestionar las dependencias de clase y realizar dependency injection. Resuelve automáticamente las dependencias inspeccionando los type-hints de los constructores. Usar el Service Container mejora la testeabilidad y el desacoplamiento al evitar la instanciación directa de las dependencias.

2

¿Cuál es la principal ventaja de la dependency injection frente a la instanciación directa?

Respuesta

La dependency injection mejora la testeabilidad al permitir sustituir fácilmente las dependencias por mocks o stubs durante las pruebas. También promueve el desacoplamiento al evitar que las clases estén fuertemente acopladas a sus dependencias concretas. Esto hace que el código sea más mantenible y flexible ante los cambios.

3

¿Cómo inyectar una dependencia en el constructor de un controller de Laravel?

Respuesta

Agregar un type-hint de la dependencia en el constructor permite al Service Container resolver automáticamente esta dependencia. Laravel inspecciona los parámetros del constructor e inyecta las instancias apropiadas sin configuración adicional. Este enfoque es el más sencillo y común para la dependency injection en los controllers.

4

¿Cuál es la diferencia entre bind() y singleton() en el Service Container?

5

¿Qué hace el método app()->make(UserRepository::class)?

+17 preguntas de entrevista

Domina Laravel para tu próxima entrevista

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

Empieza gratis