Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odwołanie do "rodzica"
Forum PHP.pl > Forum > PHP
bartyk
Mam "klasę w klasie". Czyli


  1. <?php
  2.  
  3. class A{
  4.  var A0;
  5.  var B1=new B();
  6.  funkcja A1{}
  7. }
  8.  
  9. class B {
  10. var B0;
  11. funkcja B1{}
  12. }
  13.  
  14. var A1=new A()
  15.  
  16. ?>


Chcąc wywołać funkcję B1 z wnętrza klasy A podaje:

  1. <?php
  2. $this->B1->B1()
  3. ?>


A jak to zrobić w "drugą stronę"??

Czy zapis
Kod
$A1->A1()
wystarczy??

Wiem, że może durne i lamerskie pytanie, ale...



// proszę używać prawidłowego bbCode
aleksander
1. zły bbcode


2. nie da się czegoś takiego zrobić w drugą stronę. Możesz użyć singletona (było o nim sporo na forum)
dasko
Ewentualnie możesz metode klasy o jeden poziom wyżej zrobić statyczą i odwoływać się:
  1. <?php
  2.  
  3. A::B();
  4.  
  5. ?>

Słowo 'static' jest potrzebne tylko w PHP5, z tego co wiem w PHP4, kazda metoda jest jakby statyczna. Oczywiście metoda nie może zawierać w sobie $this, bo nie operuje na żadnym obiekcie.
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.