2025-08-05 18:33:19 +03:00

108 lines
3.9 KiB
Markdown
Raw 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.

# Класс `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)