Przerabiajac przyklady z ksiazki "PHP5 Obiekty, wzorce, narzedzia" natrafilem na przyklad ktory powinien dzialac, a jednak nie dziala :/
bardzo uproszczony skrypt oddajacy istote problemu:
<?php class Fun { function funa() { } } class MyFun { private $fun; function _construct(Fun $fun) { $this->fun = $fun; } function getFun() { return clone $this->fun; } } $mf = new MyFun(new Fun()); $test1 = new Fun; $test1->funa(); $test2 = $mf->getFun(); // $test2->funa(); $test1->funa(); ?>
sprawa wyglada tak: do $test2 powinien byc przypisany clon objektu Fun, wiec wywolanie $test2->funa(); powinno wyswietlic kilka literek, jednak nic takiego sie nie dzieje, po odkomentowaniu $test2->funa(), nie dosc ze funkcja nie jest wywolana, to jeszcze nie wykonuje sie $test1->funa();
skrypt testowalem na serwerze z php 5.1.6 i 5.2.0 - php.ini bez wiekszych modyfikacji
Pozdrawiam,