Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> odwołanie do klasy w innej klasie
Dumdas
post 14.10.2009, 15:30:52
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 8.10.2009
Skąd: Lubin

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


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();?
Go to the top of the page
+Quote Post
erix
post 14.10.2009, 15:33:34
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
grn
post 14.10.2009, 15:35:59
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 4
Dołączył: 1.06.2009

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


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ć.
Go to the top of the page
+Quote Post
Dumdas
post 14.10.2009, 15:43:56
Post #4





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 8.10.2009
Skąd: Lubin

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


PHP'owy epic fail... sciana.gif
Dobra, dzięki, już kminię...
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.08.2025 - 10:18