Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> OOP - odwolywanie do obiektu
-_user-
post 23.06.2005, 12:25:18
Post #1





Goście







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.
Go to the top of the page
+Quote Post
nospor
post 23.06.2005, 12:27:22
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-_user-
post 23.06.2005, 12:33:04
Post #3





Goście







Cytat
możesz go zrobic wlasciwością innej klasy


mozesz sie rozwinac w tym temacie? smile.gif jakis przyklad smile.gif
Go to the top of the page
+Quote Post
dr_bonzo
post 23.06.2005, 12:33:47
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


@_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.

Ten post edytował dr_bonzo 23.06.2005, 12:36:48


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
ActivePlayer
post 23.06.2005, 15:34:50
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


mysle ze warto w tym miejscu zapoznac sie z singletonem.
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: 6.07.2025 - 20:47