Nie moge za bardzo załapać o co chodzi z tymi magicznymi metodami __set __get
na wikipedi jest napisane
__get() metoda jednoparametrowa, jej parametr to nazwa pola, którego nie ma w obiekcie, a była próba odczytania jej wartości
próba jaka próba nie rozumie za bardzo. gdyby ktoś mógł to jasno zpreceyzować to będę ogromnie wdzięczny
__set() metoda dwuparametrowa, gdzie pierwszy parametr to nazwa pola a drugi to wartość przypisana, metoda ta wykonywana jest w momencie, gdy chcemy przypisać wartość do pola, które nie zostało zawarte w obiekcie.
To w sumie jeszcze łapię chociaż nie do końca rozumie jakie mogłoby być przykładowe zastosowanie tworzenia nowej składowej na zewnątrz klasy.
Ogólnie prosiłbym o jakiś prosty konkretny przyklad albo jakies objasnienie problemu.
W pewnej książce znalazłem coś takiego.
<?php class nazwaklasy { var $atrybu; function __get($nazwa) {return ($this->$nazwa).'get'; // tu dodalem od siebie get } function __set($nazwa,$wartosc) {$this->$nazwa = $wartosc.'set'; // tu dodalem od siebie set } } $a = new nazwaklasy(); $a->atrybut = 5; // zekomo to mialo korzystać z metody __set ale nie korzysta $a->atrybut; // to z kolei mialo korzystać z metody __get i też nie korzysta ?>
kurde swoją drogą sam nie wiem jak można napisać coś w książce jeżeli to nie ma pokrycia w rzeczywistości
