Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: OOP - odwolywanie do obiektu
Forum PHP.pl > Forum > Przedszkole
_user
jak moge sie odwolywac do innych obiekotw z "wewnatrz" obiektu??
poprzez global jak w funkcjach?

czy jest jakas inna "elegancka" metoda na to smile.gif

mam np. obiekt klasy ktory realizuje zadania sterownika do bazy danych i teraz chialbym z poziomu innego obiektu wykonywac metody tego sterownika, czyli wykonywac zapytania do bazy itp.
nospor
jak cchesz sie odwolac do metody obiektu to musisz miec ten obiekt. mozesz go do funkcji porzekazac jako parametr, możesz go zglobalizowac, możesz go zrobic wlasciwością innej klasy.
_user
Cytat
możesz go zrobic wlasciwością innej klasy


mozesz sie rozwinac w tym temacie? smile.gif jakis przyklad smile.gif
dr_bonzo
@_user: no to w tej drugiej klasie tworzysz nowa instancje klasy sterownik bazy danych i masz juz obiekt, teraz uzywasz jego metod. A gdy chcesz otrzymac zawsze ta sama instancje sterownika bazy danych to uzyj wzorca "Singleton" --> szukaj o nim w googlach, forum, phpedii.
------------------
np. tak:
  1. <?php
  2. $sterownikDB = new SterownikDb(....);
  3. $innyObiekt = new InnaKlasa();
  4. $innyObiekt->podepnijSterownikDb( $sterownikDB );
  5. //...
  6. class InnaKlasa
  7. {
  8. private $sterownikDb = NULL;
  9. //...
  10. public function podepnijSterownikDb( $sterownikDb )
  11. {
  12.  $this->sterownikDb = $sterownikDb;
  13. }
  14. }
  15.  
  16. ?>

Kod dla php5, a gdy masz php4 to musisz pokombinowac z referencjami, usunac private, itd.
ActivePlayer
mysle ze warto w tym miejscu zapoznac sie z singletonem.
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.