Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Kiedy wstrzykiwać jako interfejsy?
eerie
post
Post #1





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 3.08.2017

Ostrzeżenie: (0%)
-----


Mam wątpliwość odnośnie deklaracji typów wstrzykiwanych do np. kontrolera obiektów. Jakiś czas temu dowiedziałem się, że gdy np. moja metoda zwraca tylko obiekt konkretnej klasy, to powinienem zadeklarować jako typ tę konkretną klasę. Jeśli zwraca jakiś obiekt z grupy klas o podobnej właściwości, to powinienem jako typ wskazać wspólny interfejs, który implementują. Gdy zwraca totalnie różne i niepowiązane klasy, to można użyć typu "object". A jak jest przy wstrzykiwaniu w konstruktorze np. do kontrolera? Powinienem wstrzykiwać obiekty wskazując jako typ interfejsy czy starczy podanie konkretnej klasy? Pytam pod kątem testów jednostkowych w np. PHPUnit. Przeczytałem w artykule na temat zasad SOLID, iż należy używać możliwie największego typu abstrakcji. Jednak deklarowanie wszędzie, gdzie się tylko da, jako typów interfejsów jest dość uciążliwe i nie mam pewności, czy właściwe. Czy nie wystarczy, jeśli użyję jako typ interfejsu tylko w sytuacjach, gdy chcę używać testów? A dla całej reszty przypadków wstrzykiwać obiekty podając jako typ konkretną klasę... Jak to jest? Kiedy muszę deklarować jako typ interfejsy, a kiedy mogę deklarować konkretne klasy?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:53