@bedolazhka

Правильно ли создаю сам себя?

class Db
{
    private static $instance;

    private function __construct($host, $name, $char, $user, $pass, $opt)
    {
        self::$instance = new PDO("mysql:host={$host};dbname={$name};charset={$char}", $user, $pass, $opt);
    }

    public static function setup($host, $name, $char, $user, $pass, $opt = [])
    {
        if (is_null(self::$instance)) {
            // self::$instance = new self($host, $name, $char, $user, $pass, $opt); // так пишут практически во всех примерах
            new self($host, $name, $char, $user, $pass, $opt); // я правильно понял, что self::$instance = тут и не нужно вообще?
        }
        return self::$instance;
    }
}
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Не трогал бы ты эту статику.
Целее будешь
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@gian_tiaga
В принципе то правильно, но в таком использовании нет никакого смысла, это тоже самое что если бы вы создавали новый экземпляр класса только вместо new заставляете писать setup чем можете запутать читающего
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы