В том, что я делаю, я считаю, что нет смысла в абстрактном синглтоне. Это потому, что
1) То, что вы хотите быть одиночным, - это последний класс, который вы создаете для использования в приложении, будь то библиотека, модель, контроллер или представление, а НЕ абстракция.
2) Добавление метода синглтона легко и может быть записано в 8 строк. Смотри ниже.
protected static $_instance;
public static function getInstance()
{
if (!isset(self::$_instance)) {
self::$_instance = new self();
}
self::$_instance;
}
3) PHP 5.3 ниже версии не поддерживает позднюю статическую привязку. Это приведет к созданию экземпляра абстрактного класса вместо того, чтобы последний класс наследовал его, и не будет функционировать должным образом, как уже упоминалось Gordon и nuqqsa. Так что для обратной совместимости лучше избегать этого.