mam sobie klasę z metodą magiczną __get, która to metoda zwraca mi właściwość klasy gdy ta istnieje lub zwraca błąd, gdy nie istnieje
public function __get($name) { return $this->variables[$name]; } // a tutaj walę błędem gdy nie istnieje }
No i wszystko byłoby fajnie ale....
Taki o to kod
$ob = new MojaKlasa();
rzuca mi błędem, bo przecież właściwośc nie istnieje - no niby wszystko ok. Ale z drugiej strony empty() nie powinno rzucać błędów. Tak wiem, że to nie idzie błąd przez empty tylko przez __get. No ale tu właśnie szlag trafił całą moją dotychczasową logikę....
Przychodzą mi do głowy tylko dwa rozwiązania, oba średnio ładne.
$ob = new MojaKlasa();
lub dopisać do klasy własną metodę empty
$ob = new MojaKlasa(); if (!$ob->empty($ob->wlasciwosc_ktora_nie_istnieje)) {}
ktora to będzie reagowała już właściwie.
Jakieś inne propozycje?
edit: nie, dopisanie własnej metody Empty nic nie da.... pozostaje jedynie isset. Jakieś inne propozycje?