
Service Container & DI
Dependency injection, service providers, binding, singletons, contextual binding, risoluzione del container, facades
1Cos'è il Service Container in Laravel?
Cos'è il Service Container in Laravel?
Risposta
Il Service Container è uno strumento potente per gestire le dipendenze delle classi ed eseguire la dependency injection. Risolve automaticamente le dipendenze ispezionando i type-hint dei costruttori. Usare il Service Container migliora la testabilità e il disaccoppiamento evitando l'istanziazione diretta delle dipendenze.
2Qual è il principale vantaggio della dependency injection rispetto all'istanziazione diretta?
Qual è il principale vantaggio della dependency injection rispetto all'istanziazione diretta?
Risposta
La dependency injection migliora la testabilità consentendo di sostituire facilmente le dipendenze con mock o stub durante i test. Promuove inoltre il disaccoppiamento, evitando che le classi siano fortemente accoppiate alle loro dipendenze concrete. Questo rende il codice più manutenibile e flessibile ai cambiamenti.
3Come iniettare una dipendenza nel costruttore di un controller Laravel?
Come iniettare una dipendenza nel costruttore di un controller Laravel?
Risposta
Aggiungere un type-hint della dipendenza nel costruttore consente al Service Container di risolvere automaticamente questa dipendenza. Laravel ispeziona i parametri del costruttore e inietta le istanze appropriate senza configurazione aggiuntiva. Questo approccio è il più semplice e comune per la dependency injection nei controller.
Qual è la differenza tra bind() e singleton() nel Service Container?
Cosa fa il metodo app()->make(UserRepository::class)?
+17 domande da colloquio
Altri argomenti di colloquio Laravel
Fondamenti di PHP
Fondamenti di OOP in PHP
Composer & Autoloading
Fondamenti di Laravel
Routing di Laravel
Blade Templates
Request & Response
Fondamenti di Eloquent ORM
Eloquent Relationships
Migrations & Schema Builder
Validazione e moduli
Autenticazione
Autorizzazione e Policies
API Resources & Authentication
Middleware
Queues & Jobs
Events & Listeners
Notifiche & 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
Padroneggia Laravel per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis