Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: odwołanie do klasy w innej klasie
Forum PHP.pl > Forum > PHP
Dumdas
Czyli tak:
Mam plik, który includuje do siebie kilka klas. Wygląda to mniej więcej tak:
  1. include('./klasa_foo.php');
  2. global $foo;
  3. $foo = new foo();
  4. include('./klasa_bar.php');
  5. global $bar;
  6. $bar = new bar();
  7. ...

I teraz moje bytanie:
Jak w klasie bar odwołać się do foo->funkcja();?
erix
Też używając global i instancji.

Ale tak w ogóle, to przepisz całość od nowa. Na co Ci obiektówka, skoro nie potrafisz wziąć rozwodu z global?
grn
Możesz przekazać instancję klasy foo klasie bar za pomocą konstruktora, np.:

  1. class foo
  2. {
  3. // kod klasy foo
  4. }
  5.  
  6. class bar
  7. {
  8. protected $foo;
  9.  
  10. public function __construct(foo $foo)
  11. {
  12. $this->foo = $foo;
  13. }
  14.  
  15. public function metoda()
  16. {
  17. $this->foo->metodaFoo();
  18. }
  19. }


Wprowadzanie stanu globalnego jest złe i należy go unikać.
Dumdas
PHP'owy epic fail... sciana.gif
Dobra, dzięki, już kminię...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.