Добрый день! только начинаю изучать php и ещё слаб в шаблонах проектирования, в сети наткнулся на кучу разных вариантов, но они какие-то все странные....
И встают вопросы:
1) Нужно ли вообще использовать этот шаблон для БД? И чем страшно создание множества объектов PDO?
2) Как я понял при наследовании дочерним классом класса PDO, нельзя переопределить идентификатор доступа на protected для __construct?
Написал вот такой класс для реализации singletone:
class DB {
static $db;
static $instance;
protected function __construct($dsn,$username,$password,$options) {
self::$instance = new PDO($dsn,$username,$password,$options);
}
public static function getInstance($dsn,$username,$password,$options) {
if(self::$instance instanceof PDO){
return self::$instance;
} else {
if(self::$db instanceof self){
exit('Ошибка работы БД!') ;
} else {
self::$db = new self($dsn, $username, $password, $options);
return self::$instance;
}
}
}
}
Вроде отрабатывает корректно, но был бы рад конструктивной критики в его адрес с пояснениями!)))