Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: uruchomienie obiektu z innego obiektu
Forum PHP.pl > Forum > PHP > Object-oriented programming
kicaj
Czy jest mozliwe uruchomienie obiektu tylko kiedy jest on w innym obiekcie?
Przyklad
  1. <?php
  2. class One
  3. {
  4. function __construct()
  5. {
  6. $objName2 = new Two;
  7. }
  8. }
  9.  
  10. class Two
  11. {
  12. // sprawdzenie czy jestesmy w obiekcie Klasa1
  13. }
  14.  
  15. // uruchamiamy klase 'One' i 'Two';
  16. $objName1 = new One;
  17.  
  18. // dostajemy jakis error przy uruchamianiu klasy 'Two'
  19. $objName3 = new Two;
  20. ?>


Jest cos takiego mozliwe. Poprostu niechce zeby dana klasa byla uruchamiana gdziekolwiek, ale tylko w konkretnej klasie...
UDAT
Dodaj sprawdzanie wartości debug_backtrace" title="Zobacz w manualu PHP" target="_manual i rzucaj wyjątek.
kicaj
Nie zabardzo wiem co z ta funkcja zrobic:/

Edit: Juz wiem, dzieki:)
Dla pozostalych pokaze:
  1. <?php
  2. class One
  3. {
  4. function __construct()
  5.  {
  6. echo "One <br />";
  7.  
  8. $arr = debug_backtrace();
  9.  
  10. if( !isset( $arr[1]['class'] ) )
  11. {
  12. echo "Nie masz dostepu";
  13. }
  14. else
  15. {
  16. echo "Masz dostep";
  17. }
  18. }
  19.  
  20. }
  21.  
  22. class Two
  23. {
  24. function __construct()
  25. {
  26. echo "Two > ";
  27.  
  28. $a = new One;
  29. }
  30.  
  31. }
  32.  
  33. $a = new One; //powinien zwrocic blad, bo niejest uruchomiony z wewnatrz innego obiektu
  34. echo '<hr />';
  35. $b = new Two; //uruchamia obiekt TWO wraz z obiektem ONE
  36. ?>
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.