руководство/1. Подготовка к использованию.md


Подготовка к использованию

Чтобы начать пользоваться классом, необходимо для начала прописать настройки соединения с базой данных.

Сперва, настроим систему журналирования ошибок. Она помогает отлавливать ошибки и предупреждения, возникшие в работе с СУБД. Если она нам не нужна, то можно пропустить этот шаг, а в конфигурации параметр logConfig оставить равным null.

$logConfig = new DBLogConfig(
        # Внешняя система журналирования, реализующая интерфейс ILogger.
        # Если null, будет создаваться класс Logger из PHP COMPONENTS PACK.
        externalLogger: null,

        # Уровень журналирования.
        # Определяет, какие сообщения будут записываться в лог, а какие нет.
        # Располагаются по убыванию важности: DEBUG < INFO < WARNING < ERROR.
        # Каждый следующий уровень исключает все сообщения, нижестоящего уровня.
        # Например, при уровне WARNING будут записаны только сообщения типа ERROR и WARNING.
        level: MessageType::DEBUG,
        
        # Путь к файлу журнала. Если `null`, то вывод будет осуществляться в консоль. 
        fileName: 'db.log',
        
        # Максимальный размер файла журнала в байтах. При превышении этого значения файл будет перезаписан.
        # Если 0, то размер файла не ограничен.
        # При выводе в консоль этот параметр игнорируется.
        maxBytes: 1024 * 1024 * 5,
        
        # Максимальное количество копий файлов журнала. При превышении этого значения файлы будут удалены.
        # При выводе в консоль этот параметр игнорируется.
        backupCount: 5,
        
        # Количество сообщений, которые будут сохранены в памяти перед записью в файл.
        # При выводе в консоль этот параметр игнорируется.
        flushAfter: 30
    );

Далее, создадим класс DBConfig с конфигурацией подключения к базе данных:

$db_config = new DBConfig(
    # Драйвер СУБД.
    driver: DBDriver::PostgreSQL,
    
    # Сервер СУБД.
    host: 'localhost',
    
    # Порт подключения к серверу СУБД.
    port: 5432,
    
    # Имя базы данных.
    name: 'my_database',
    
    # Имя пользователя базы данных.
    userName: 'admin',
    
    # Пароль пользователя базы данных.
    password: 'secret_password',
    
    # Конфигурация системы журналирования.
    logConfig: $logConfig,
    
    # Язык сообщений об ошибках. Может быть 'ru' или 'en'. По умолчанию 'ru'.
    language: 'ru',
    
    # Завершать ли транзакцию при закрытии соединения с СУБД.
    commitOnClose: true
);

Первым параметром идёт драйвер СУБД, представленный перечислением DBDriver (в данном случае PostgreSQL), затем сервер БД, порт, её имя, пользователь, пароль, конфигурация системы журналирования и язык сообщений об ошибках, а также настройка завершения транзакции при закрытии соединения.

Итак, настройки созданы, время создать сам класс Database:

use goodboyalex\php_db_components_pack\classes\Database;

$onException = fn (string $message) => print $message;

$db = new Database($db_config, $onException);

На главную | Следующий пункт