Ostatnio poprzerabiałem trochę swojego CMS'a zmieniając część klas na wzorzec singleton, po krótkim czasie dopało mnie zaskoczenie 'czemu to nie działa?' ... Doszedłem do tego że przy takim kodzie:
<?php class someclass{ protected function __construct(){ } protected function __clone(){} if(!$instance){ $instance = new someclass; } return $instance; } } ?>
Jeśli wsadzimy do konstruktora coś typu:
<?php protected function __construct(){ $object = new some_other_class; $object -> some_method(); } ?>
To cały skrypt leci na łeb na szyję... Da się z tym coś zrobić oprócz przerabiania klasy z której chcemy skorzystać na statyczną?