@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;
    }
}
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Не трогал бы ты эту статику.
Целее будешь
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@gian_tiaga
В принципе то правильно, но в таком использовании нет никакого смысла, это тоже самое что если бы вы создавали новый экземпляр класса только вместо new заставляете писать setup чем можете запутать читающего
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 16:12
2000 руб./за проект
25 апр. 2024, в 16:08
130000 руб./за проект