Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie obiektów po napotkaniu wywołania., zamiast błędu utworzy obiekt i powtórzy wywołanie metody.
KotWButach
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

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


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ł.


Ten post edytował KotWButach 20.05.2013, 01:32:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mstraczkowski
post
Post #2





Grupa: Zarejestrowani
Postów: 273
Pomógł: 52
Dołączył: 3.02.2013
Skąd: Przemyśl

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


Jeżeli dobrze zrozumiałem, a o 3:00 w nocy - może być ciężko (IMG:style_emoticons/default/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

Ten post edytował mstraczkowski 20.05.2013, 01:59:15
Go to the top of the page
+Quote Post
KotWButach
post
Post #3





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

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


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 (IMG:style_emoticons/default/biggrin.gif) dla zwykłych zmiennych hmm (IMG:style_emoticons/default/sad.gif)

Ten post edytował KotWButach 20.05.2013, 03:28:25
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 22:32