2022-07-18 08:00:16 +03:00

56 lines
1.5 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/*
* Класс для работы с базой данных
* @package freecms
*/
namespace freecms\classes;
/**
* Используем класс PDO для подключения к БД
*/
use freecms;
use freecms\components\Dictionary;
use freecms\enums\DBDriversEnum;
use PDO;
use const freecms\FCMS_DB_DRIVER;
use const freecms\FCMS_DBNAME;
use const freecms\FCMS_DBUSERNAME;
use const freecms\FCMS_DBUSERPASSWORD;
/**
* Класс для работы с базой данных
*/
class FcmsDB
{
/**
* @var PDO Переменная, хранящая класс PDO.
*/
private PDO $pdo;
/**
* Конструктор. Подключает базу данных
* @param DBDriversEnum $dbType Тип базы данных
* @param string $connectionString Строка подключения к базе данных
* @param string $userName Имя пользователя базы данных
* @param string $userPassword Пароль к базе данных
*/
public function __construct()
{
$type = match (FCMS_DB_DRIVER) {
DBDriversEnum::MSSQL => 'sqlsrv',
DBDriversEnum::PostgreSQL => 'pgsql',
DBDriversEnum::OracleDB => 'oci',
DBDriversEnum::SQLite => 'sqlite',
default => 'mysql',
};
$this->pdo = new PDO($type . ':' . FCMS_DBNAME, FCMS_DBUSERNAME, FCMS_DBUSERPASSWORD);
}
public function select(string $query, Dictionary $variables)
{
}
}