20250805-1

This commit is contained in:
2025-08-05 22:26:43 +03:00
parent 3161fcf4dd
commit 7b42ba781c
14 changed files with 496 additions and 17 deletions

View File

@@ -0,0 +1,108 @@
# Класс `DBConfig`
## Описание
Класс предназначен для хранения конфигурации подключения к базе данных. Реализует интерфейс `ISerializable`, позволяющий
сериализировать и десериализировать объект класса в строку формата JSON.
## Пространство имен и зависимости
```php
namespace goodboyalex\php_db_components_pack\models;
use goodboyalex\php_components_pack\classes\Encryptor;
use goodboyalex\php_components_pack\interfaces\ISerializable;
use goodboyalex\php_db_components_pack\enums\DBDriver;
```
## Поля
| Поле | Тип | Описание |
|:-----------:|:----------:|---------------------------------|
| `$Host` | `string` | Хост базы данных |
| `$Port` | `int` | Порт базы данных |
| `$Name` | `string` | Имя базы данных |
| `$UserName` | `string` | Имя пользователя базы данных |
| `$Password` | `string` | Пароль пользователя базы данных |
| `$Driver` | `DBDriver` | Тип драйвера базы данных |
| `$Chipper` | `string` | Пароль шифрования |
## Методы
### Конструктор (`__construct`)
Создает экземпляр класса с заданными параметрами подключения к базе данных.
**Параметры**
- `$driver`: тип драйвера базы данных (`DBDriver`)
- `$host`: хост базы данных (`string`)
- `$port`: порт базы данных (`int`)
- `$name`: имя базы данных (`string`)
- `$userName`: имя пользователя базы данных (`string`)
- `$password`: пароль пользователя базы данных (`string`)
- `$chipper`: пароль шифрования (`string`)
**Возвращаемое значение**: None
---
### Метод `UnSerialize(string $serialized)`
Десериализирует переданный JSON-строку и восстанавливает состояние объекта.
**Параметры**
- `$serialized`: строка, содержащая сериализированные данные (`string`)
**Возвращаемое значение**: None
---
### Метод `Serialize()`
Сериализирует состояние объекта в JSON-строку.
**Возвращаемое значение**
- `string`: сериализированная строка
---
## Примеры использования
Пример создания экземпляра класса и его сериализации:
```php
$config = new DBConfig(
DBDriver::PostgreSQL,
'localhost',
5432,
'my_database',
'admin',
'secret_password',
'encryption_key'
);
$serializedData = $config->Serialize();
echo $serializedData;
```
Пример восстановления состояния объекта из сериализированной строки:
```php
// Предположим, мы получили сериализированные данные ранее
$serializedData = '{"host":"localhost","port":5432,"name":"my_database","user":"admin","password":"encrypted_password","driver":1}';
$config = new DBConfig();
$config->UnSerialize($serializedData);
echo $config->Host; // Выведет: localhost
```
## Дополнительная информация
Данный класс является частью пакета `goodboyalex/php_db_components_pack`. Для полноценной работы рекомендуется
ознакомиться с документацией по пакету и зависимым компонентам.
[На главную](../../index.md)