• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy używanie zewnętrznych zmiennych w klasie narusza zasady dobrego programowania obiektowego?

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
223 wizyt
pytanie zadane 15 lutego 2016 w PHP przez CzlowiekSkrypt Nałogowiec (26,340 p.)
Chodzi mi o użycie np ''global $foo'' wewnątrz funkcji w klasie, czy to dobra praktyka? Czy są lepsze sposoby na komunikację z zewnętrzną zmienną?

1 odpowiedź

+1 głos
odpowiedź 15 lutego 2016 przez Comandeer Guru (607,060 p.)
wybrane 15 lutego 2016 przez CzlowiekSkrypt
 
Najlepsza
Tak, wstrzyknąć ją. Inna rzecz, że "zewnętrzna zmienna" też jest zła ;) De facto nie powinno być żadnego stanu poza obiektami.
komentarz 15 lutego 2016 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
No bo mam plik dbconnect.php gdzie trzymam właśnie nowy obiekt PDO z połączeniem i includuje go sobie. To w takim wypadku teraz lepiej zrobić nową klasę dbconnect i zrobić extends dbconnect czy utworzyć nowy obiekt wewnątrz klasy ale w kilku klasach to by była chyba redundancja w przypadku kilku klas wymagających połączenia :P
komentarz 15 lutego 2016 przez Comandeer Guru (607,060 p.)
Hasło-klucz: Dependency Injection ;)
komentarz 15 lutego 2016 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
No tak, kompletnie zapomniałem o chyba najpotężniejszej broni obiektowego PHP :) A jeszcze pisałeś wcześniej o wstrzyknięciu ale nie zaskoczyłem :D dzięki :)

Podobne pytania

0 głosów
2 odpowiedzi 305 wizyt
pytanie zadane 20 lutego 2016 w C i C++ przez 0xf Dyskutant (8,180 p.)
0 głosów
3 odpowiedzi 2,096 wizyt
pytanie zadane 3 grudnia 2017 w PHP przez Krzysio4224 Obywatel (1,690 p.)
0 głosów
1 odpowiedź 530 wizyt

93,434 zapytań

142,429 odpowiedzi

322,662 komentarzy

62,799 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...