alan4ick
Новичок
единый Singleton для extented классов
Хочется чтобы функция Singleton была только в родительском классе, чтобы не описывать ее каждый раз в расширенном классе
, но тогда возникает проблема с созданием обьекта.
Из singleton метода никак не получить имя расширенного класса, так как возвращается имя родительского класса.
Как можно решить эту проблему ?
А хотелось бы использовать данную методику для создания классов для работы с несколькими соединениями к базам:
DB_News::singleton()->getNews();
DB_News::singleton('other_mysql_server')->getNews();
+ данного метода, что не создается соединения с базой, если нет в этом нужды
Хочется чтобы функция Singleton была только в родительском классе, чтобы не описывать ее каждый раз в расширенном классе
, но тогда возникает проблема с созданием обьекта.
Из singleton метода никак не получить имя расширенного класса, так как возвращается имя родительского класса.
Как можно решить эту проблему ?
PHP:
class DB{
public static function singleton()
{
if (null === self::$_instance) {
$c = __CLASS__;
self::$_instance = new $c;
}
return self::$_instance;
}
}
DB_News::singleton()->getNews();
DB_News::singleton('other_mysql_server')->getNews();
+ данного метода, что не создается соединения с базой, если нет в этом нужды