Oto kod:
<?php class Example { public function __construct(Obiekt $oObj) { $this->obj = $oObj; } public function __destruct() { $this->obj->action(); } } // koniec klasy Example class Obiekt implements interfejs { public function action() { file_put_contents(....); } } // koniec klasy Obiekt ?>
Destruktor wywołuje metodę action() ale ta z kolei nie chce zapisać danych do pliku.
Zadziała tylko wtedy gdy destruktor zamienimy np na close() i wywołamy ta metodę
w taki sposób
<?php $o = new Example(new Obiekt()); $o->close(); ?>
Nie mam pojęcia o co chodzi, a zależy mi na automatyzmie, aby ta metoda wykonywała sie pod koniec wykonywania skryptu.
Co jeszcze zauważyłem, ze gdyby owtorzyl bym plik funkcja fopen() w konstruktorze klasy Obiekt
to zapis do pliku powiedzie sie przy wykorzystaniu fwrite() i bez konieczności wpisywania $o->close(), ale konstruktor w moim przypadku nie chodzi w gre.
Dlaczego nie chce działać funkcja file_put_contents?
Mógłby ktoś to wytłumaczyć ?
