Na tyle ile możliwości ma PHP w tej dziedzinie napisałem własną wersję klasy Singleton dla wzorca Singletonu, zamieszczając ją tutaj na forum chciałbym uzyskać troche opinii i propozycji odnośnie mojego rozwiązania

<?php abstract class Singleton { final protected function __construct(&$aArguments) { } protected function __initialize() { } final public function __clone() { } self::$aInstances[$sClassName] = new $sClassName($aArguments); } return self::$aInstances[$sClassName]; } } ?>
Gdzieś czytałem, że nie zaleca się rozpoczynać nazw metod od dwóch podkreślników, gdyż koliduje to z ogólnie przyjętym schematem nazewnictwa metod magicznych oraz konstruktora i destruktora w PHP. Jeśli też tak uważacie, proszę o propozycję ładnej nazwy angielskiej tejże metody

Przykład użycia:
<?php require_once './class.Singleton.php'; class Example extends Singleton { private $sParam; protected function __initialize($sParam) { $this->sParam = $sParam; } public function __toString() { return $this->sParam; } } $oFirstExample = Example::getInstance('Example', "Parametr przekazany do konstruktora"); // lub też Singleton::getInstance('Example', ... $oSecondExample = Example::getInstance('Example'); ?>
Pozdrawiam