Задать вопрос

Как правильно делать запросы к БД?

Я создал Class в котором у меня все функции по работе с БД.

Вот так выглядит:
<?php
class Functions {

    private $DB;

    public function __construct()
    {
        include("config.php");
        try {
             $this->DB = new PDO($DSN, $DB_USER, $DB_PASS, $OPTIONS);
        } catch (PDOException $e) {
             // ошибка при подключении
            file_put_contents(__DIR__ . '/logs/error_connect_DB.txt', date('Y-m-d h:i:s') . 'Connect failed error:' . $e->getMessage() . PHP_EOL, FILE_APPEND);
            die();
        }
    }

    public function __destruct()
    {
        $this->DB = null;
    }

    public function GetDetailsByRequestId($requestId)
    {
        // PDO REQUEST
    }
}
$object = new Functions();
?>


Каждый раз, когда необходимо использование БД я подключаю файл:
include_once("function.php");
                $function = new Functions();


И использую функции в этом файле для работы с БД.

Вопрос: Насколько правильно такое использование БД? или такая конструкция ошибочна и несет какие-то последствия?
  • Вопрос задан
  • 438 просмотров
Подписаться 4 Простой Комментировать
Ответ пользователя Stalker_RED К ответам на вопрос (2)
Stalker_RED
@Stalker_RED
вместо file_put_contents лучше error_log() или выброс исключения.

Каждый раз, когда необходимо использование БД я подключаю файл:

до PSR-4 с описанием автозагрузки вы еще не дошли?

В итоге вы придете к тому, что будет базовый класс БД с подключением, логированием, и еще какими-то общими штуками, а от него будут наследоваться классы МОДЕЛИ, и уже в них будет выборка из конкретных таблиц.
Ответ написан