Si bien la idea es que haya una única instancia de una clase, el esqueleto del singleton es siempre el mismo, y puede ser una opción extender de una clase base a otras que quieras que sean Singleton's, esto dentro de la teoria, como dije antes no me agrada Signleton, solo que para lograrlo vas a depender de la versión de PHP, Late Static Binding esta disponible recien a partir de PHP 5.3+, y hay que hacer unos ajustes, algo asi:
Código PHP:
Ver originalclass Singleton
{
protected static $_instance = null;
private function __construct()
{}
public static function getInstance()
{
if (null === static::$_instance) {
static::$_instance = new static;
}
return static::$_instance;
}
private function __clone()
{}
}
class SimpleSingleton extends Singleton
{
protected static $_instance = null;
}
Con respecto a la sintaxis, yo no veo nada extraño, a que le dices "horrible" ?