Laravel

Service Container & DI

Dependency injection, service providers, binding, singletons, contextual binding, rozwiązywanie container, facades

20 pytań z rozmów·
Mid-Level
1

Czym jest Service Container w Laravelu?

Odpowiedź

Service Container to potężne narzędzie do zarządzania zależnościami klas i wykonywania dependency injection. Automatycznie rozwiązuje zależności, sprawdzając type-hinty konstruktorów. Użycie Service Container poprawia testowalność i rozdzielenie, unikając bezpośredniej instancjacji zależności.

2

Jaka jest główna zaleta dependency injection w porównaniu z bezpośrednią instancjacją?

Odpowiedź

Dependency injection poprawia testowalność, umożliwiając łatwe zastępowanie zależności mockami lub stubami podczas testów. Promuje również rozdzielenie, zapobiegając ścisłemu powiązaniu klas z ich konkretnymi zależnościami. Sprawia to, że kod jest łatwiejszy w utrzymaniu i bardziej elastyczny na zmiany.

3

Jak wstrzyknąć zależność do konstruktora kontrolera Laravel?

Odpowiedź

Dodanie type-hintu zależności w konstruktorze pozwala Service Container automatycznie rozwiązać tę zależność. Laravel sprawdza parametry konstruktora i wstrzykuje odpowiednie instancje bez dodatkowej konfiguracji. To podejście jest najprostsze i najczęściej stosowane dla dependency injection w kontrolerach.

4

Jaka jest różnica między bind() a singleton() w Service Container?

5

Co robi metoda app()->make(UserRepository::class)?

+17 pytań z rozmów

Opanuj Laravel na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo