This commit is contained in:
2022-07-18 08:00:16 +03:00
parent 42dd4c60f2
commit 42a8133706
2387 changed files with 210708 additions and 29 deletions

View File

@@ -0,0 +1,55 @@
<?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)
{
}
}