
Service Container & DI
Dependency injection, service providers, binding, singletons, contextual binding, resolución del container, facades
1¿Qué es el Service Container en Laravel?
¿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?
¿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?
¿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.
¿Cuál es la diferencia entre bind() y singleton() en el Service Container?
¿Qué hace el método app()->make(UserRepository::class)?
+17 preguntas de entrevista
Otros temas de entrevista Laravel
Fundamentos de PHP
Fundamentos de POO en PHP
Composer & Autoloading
Fundamentos de Laravel
Routing de Laravel
Blade Templates
Request & Response
Fundamentos de Eloquent ORM
Eloquent Relationships
Migrations & Schema Builder
Validación y formularios
Autenticación
Autorización y Policies
API Resources & Authentication
Middleware
Queues & Jobs
Events & Listeners
Notificaciones & Mail
File Storage
Testing & PHPUnit
Caching
Livewire & Inertia
Eloquent Advanced
Repository Pattern
Laravel Packages
Performance Optimization
Security Best Practices
Laravel Octane
Laravel Distributed Systems
Observability & Monitoring
Deployment & DevOps
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