• 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?

0 głosów
345 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,960 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,960 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 381 wizyt
pytanie zadane 20 lutego 2016 w C i C++ przez 0xf Dyskutant (8,180 p.)
0 głosów
3 odpowiedzi 2,276 wizyt
pytanie zadane 3 grudnia 2017 w PHP przez Krzysio4224 Obywatel (1,690 p.)
0 głosów
1 odpowiedź 694 wizyt

93,733 zapytań

142,669 odpowiedzi

323,287 komentarzy

63,295 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...