108 lines
3.9 KiB
Markdown
108 lines
3.9 KiB
Markdown
# Класс `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) |