Начало обработки по ссылкам
This commit is contained in:
@ -8,10 +8,10 @@ use PDO;
|
||||
|
||||
final class Database
|
||||
{
|
||||
private PDO $_pdo;
|
||||
private static $_logFile = 'log/database.log';
|
||||
private DatabaseConfig $_databaseConfig;
|
||||
private DatabaseLogger $_logger;
|
||||
private PDO $pdo;
|
||||
private static $logfile = 'log/database.log';
|
||||
private DatabaseConfig $databaseConfig;
|
||||
private DatabaseLogger $logger;
|
||||
/**
|
||||
* Конструктор
|
||||
* @param \ContingentParser\Database\DatabaseConfig $config
|
||||
@ -19,23 +19,23 @@ final class Database
|
||||
*/
|
||||
public function __construct(DatabaseConfig $config)
|
||||
{
|
||||
$this->_logger = new DatabaseLogger(self::$_logFile);
|
||||
$this->_databaseConfig = $config;
|
||||
$this->logger = new DatabaseLogger(self::$logfile);
|
||||
$this->databaseConfig = $config;
|
||||
try {
|
||||
$dsn = $this->_databaseConfig->getDsn();
|
||||
$username = $this->_databaseConfig->getUsername();
|
||||
$password = $this->_databaseConfig->getPassword();
|
||||
$this->_pdo = new PDO(
|
||||
$dsn = $this->databaseConfig->getDsn();
|
||||
$username = $this->databaseConfig->getUsername();
|
||||
$password = $this->databaseConfig->getPassword();
|
||||
$this->pdo = new PDO(
|
||||
$dsn,
|
||||
$username,
|
||||
$password,
|
||||
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
|
||||
);
|
||||
$message = "Подключение к {$this->_databaseConfig->getDBName()} успешно!";
|
||||
$this->_logger->log($message);
|
||||
$message = "Подключение к {$this->databaseConfig->getDBName()} успешно!";
|
||||
$this->logger->log($message);
|
||||
} catch (PDOException $e) {
|
||||
$message = "Ошибка подключения к {$this->_databaseConfig->getDBName()}: {$e->getMessage()}";
|
||||
$this->_logger->log($message);
|
||||
$message = "Ошибка подключения к {$this->databaseConfig->getDBName()}: {$e->getMessage()}";
|
||||
$this->logger->log($message);
|
||||
}
|
||||
}
|
||||
/**
|
||||
@ -43,8 +43,8 @@ final class Database
|
||||
*/
|
||||
public function __destruct()
|
||||
{
|
||||
$message = "Подключение к {$this->_databaseConfig->getDBName()} прервано!";
|
||||
$this->_logger->log($message);
|
||||
$message = "Подключение к {$this->databaseConfig->getDBName()} прервано!";
|
||||
$this->logger->log($message);
|
||||
}
|
||||
/**
|
||||
* Выборка данных из базы
|
||||
@ -57,7 +57,7 @@ final class Database
|
||||
public function select(string $sql, array $params = []) : array
|
||||
{
|
||||
try {
|
||||
$stmt = $this->_pdo->prepare($sql);
|
||||
$stmt = $this->pdo->prepare($sql);
|
||||
if (!empty($params)) {
|
||||
for ($i = 0; $i < count($params); $i++) {
|
||||
$stmt->bindParam(":v".($i+1), $params[$i]);
|
||||
@ -67,7 +67,7 @@ final class Database
|
||||
$array = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
} catch (PDOException $e) {
|
||||
$message = "Ошибка запроса: " . $e->getMessage();
|
||||
$this->_logger->log($message);
|
||||
$this->logger->log($message);
|
||||
} finally {
|
||||
return $array;
|
||||
}
|
||||
@ -83,7 +83,7 @@ final class Database
|
||||
public function insert(string $sql, array $params)
|
||||
{
|
||||
try {
|
||||
$stmt = $this->_pdo->prepare($sql);
|
||||
$stmt = $this->pdo->prepare($sql);
|
||||
$count = 1;
|
||||
$size = count($params[0]);
|
||||
foreach ($params as $param) {
|
||||
@ -95,10 +95,10 @@ final class Database
|
||||
$size += count($param);
|
||||
}
|
||||
$stmt->execute();
|
||||
$this->_logger->log("Запрос выполнен успешно!");
|
||||
$this->logger->log("Запрос выполнен успешно!");
|
||||
} catch (PDOException $e) {
|
||||
$message = "Ошибка запроса:" . $e->getMessage();
|
||||
$this->_logger->log($message);
|
||||
$this->logger->log($message);
|
||||
// При ошибке запроса сохраняем валидные данные в yaml-файл
|
||||
if ($e->getCode() === "HY000") {
|
||||
$yaml = Yaml::dump($params);
|
||||
@ -117,16 +117,16 @@ final class Database
|
||||
public function update(string $sql, array $params)
|
||||
{
|
||||
try {
|
||||
$stmt = $this->_pdo->prepare($sql);
|
||||
$stmt = $this->pdo->prepare($sql);
|
||||
$count = count($params);
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
$stmt->bindParam(":v".($i+1), $params[$i]);
|
||||
}
|
||||
// $stmt->execute();
|
||||
$this->_logger->log("Запрос выполнен успешно!");
|
||||
$this->logger->log("Запрос выполнен успешно!");
|
||||
} catch (PDOException $e) {
|
||||
$message = "Ошибка запроса:" . $e->getMessage();
|
||||
$this->_logger->log($message);
|
||||
$this->logger->log($message);
|
||||
}
|
||||
}
|
||||
}
|
@ -118,7 +118,7 @@ class DatabaseFacade
|
||||
*/
|
||||
public function specialties() : array
|
||||
{
|
||||
return $this->specialties ? $this->universities : [];
|
||||
return $this->specialties ? $this->specialties : [];
|
||||
}
|
||||
/**
|
||||
* Публичное получение id вузов, занесенных в базу opendata
|
||||
@ -126,7 +126,7 @@ class DatabaseFacade
|
||||
*/
|
||||
public function universities() : array
|
||||
{
|
||||
return $this->universities ? $this->specialties : [];
|
||||
return $this->universities ? $this->universities : [];
|
||||
}
|
||||
/**
|
||||
* Извлечение кодов специальности из базы данных niimko
|
||||
|
Reference in New Issue
Block a user