Задать вопрос
@web-quest3

Плохое ли подключение в конструторе бд?

public function __construct()
    {
        try {
            $this->db = new PDO('mysql:host='.$this->host.';dbname='.$this->dbname,$this->login,$this->password);
            $this->db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
            $this->db->exec("set names utf8");
        }

        catch (PDOException $e) {
            echo "Ошибка "  . $e->getMessage();
        }

        return $this->db;
    }

Чем плохо коннектить через конструктор и потом наследоватся остальным моделям используя $this->db ?
  • Вопрос задан
  • 153 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
uDenX
@uDenX
PHP Developer
Лучше создать отдельный класс, который будет хранить в себе объекты (экземпляр подключения к БД и т.д.)
Singleton
Service Locator
Repository
Ответ написан
Комментировать
IvanCher
@IvanCher
Мысли шире
Тем плохо, что кол-во экземпляров этих классов будет равно кол-ву открытых соединений с БД. Плюсом экземпляры класса могут умереть неожиданно, а соединения будут висеть не закрытыми, что не очень хорошо.
Нужно стремиться к тому, чтобы было минимальное кол-во соединений с бд.
Denis Derepko дал правильное направление тебе.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽