Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie obiektów po napotkaniu wywołania.
Forum PHP.pl > Forum > PHP > Object-oriented programming
KotWButach
Witam
Mam pytanie czy można w PHP "przechwycić" bez parsowania kodu użycie klasy np $this->Class->test(); by obiekt został automatycznie utworzony.

czyli.
w najprostszej wersji kodu było by tak.

  1. $this->Class = new Class();
  2. $this->Class->test();

A czy dało by sie zrobić tak.
  1. $this->Class->test();
  2. // Jestem PHP i zobaczyłem że wywołano mi coś takiego jeszcze nie mam utworzonego takiego obiektu więc sobie utworzę obiekt i wywołam powyższy kod zamiast wyrzucać błędy ale gdybym miał utworzony ten obiekt z pewnością bym z niego skorzystał.
mstraczkowski
Jeżeli dobrze zrozumiałem, a o 3:00 w nocy - może być ciężko wink.gif

To myślę, że za pomocą metody magicznej __get dałbyś radę coś takiego otrzymać
Wydaje mi się jednak, że idziesz złą drogą, ale jeżeli jesteś tego pewien to powyższy link powinien ci pomóc.

Pozdrawiam
KotWButach
Hmm albo jestem niedouczony albo nie działa tak jak bym tego oczekiwał.

Idę w kierunku wywalenia z każdej klasy wywołania metody load_lib która zaciemnia mi kod i wywoływana jest do znudzenia.

  1. $this->load_lib('ClassName1|ClassName2|[...]');


Teraz jest problem z obsługą błędów biggrin.gif dla zwykłych zmiennych hmm sad.gif
Spawnm
Cytat
Teraz jest problem z obsługą błędów biggrin.gif dla zwykłych zmiennych hmm sad.gif

Pokaż kod. I w czym leży ten problem? Czy w klasie deklarowałeś public $zmienna; itd? Ewentualnie stworzyłeś kontener na dane np:
protected $_values = array(); i w __get jeśli nie ma klasy z wybranej przestrzeni nazw to znaczy że operujesz na wartościach danego obiektu.
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.