Класс: DatabaseGateway¶
Краткое содержание:¶
Шлюз доступа к базе данных через Cycle ORM.
Свойства¶
- private $database_manager
- private $entity_manager
Методы¶
- public __construct()
- public getOrm()
- public setManager()
- public getManager()
- public repository()
- public get()
- public getAll()
- public delete()
- public run()
- public create()
- public update()
- public createOrUpdate()
- public connection()
- public query()
- public paginate()
- public count()
- private generateOrm()
- private generateManager()
- private generateOrmConfig()
- private compileSchema()
- private assertDatabaseConstants()
- private loadDatabaseConfigIfNeeded()
Подробности¶
- Путь:
devcraft/src/classes/Database/DatabaseGateway.php
Детали¶
Свойства¶
$database_manager¶
Шлюз доступа к базе данных через Cycle ORM.
$entity_manager¶
Конфигурация подключения к базе данных.
Методы¶
__construct()¶
Создаёт шлюз с реестром модулей для разрешения путей сущностей.
С версии: 171.3.0
Параметры: - $registry — Реестр DevCraft-модулей.
getOrm()¶
Возвращает экземпляр ORM, создавая его при необходимости.
С версии: 171.3.0
Возвращает: ORM\ORM — Экземпляр ORM.
setManager()¶
Инициализирует менеджер сущностей на основе текущего ORM.
С версии: 171.3.0
getManager()¶
Возвращает менеджер сущностей, создавая его при первом обращении.
С версии: 171.3.0
Возвращает: EntityManager — Менеджер сущностей ORM.
repository()¶
Возвращает репозиторий для указанной сущности или класса.
С версии: 171.3.0
Параметры: - $entity — Объект сущности или FQCN класса.
Возвращает: RepositoryInterface — Репозиторий Cycle ORM.
get()¶
Получает сущность по первичному ключу.
С версии: 171.3.0
Параметры: - $entity — Объект сущности или FQCN класса. - $pk — Первичный ключ записи.
Возвращает: object|null — Найденная сущность или null.
getAll()¶
Возвращает все записи указанной сущности.
С версии: 171.3.0
Параметры: - $entity — Объект сущности или FQCN класса.
Возвращает: array<int, — object> Массив сущностей.
delete()¶
Удаляет сущность по первичному ключу.
С версии: 171.3.0
Параметры: - $entity — Объект сущности или FQCN класса. - $pk — Первичный ключ записи.
Возвращает: StateInterface — Состояние завершённой транзакции.
run()¶
Сохраняет сущность и возвращает состояние транзакции.
С версии: 171.3.0
Параметры: - $entity — Сущность для сохранения.
Возвращает: StateInterface — Состояние завершённой транзакции.
create()¶
Создаёт новую запись сущности в базе данных.
С версии: 171.3.0
Параметры: - $entity — Сущность для создания.
Возвращает: StateInterface — Состояние завершённой транзакции.
update()¶
Обновляет существующую запись сущности в базе данных.
С версии: 171.3.0
Параметры: - $entity — Сущность для обновления.
Возвращает: StateInterface — Состояние завершённой транзакции.
createOrUpdate()¶
Создаёт или обновляет сущность в зависимости от наличия первичного ключа.
С версии: 173.3.4
Параметры: - $entity — Сущность для сохранения.
Возвращает: StateInterface — Состояние завершённой транзакции.
connection()¶
Возвращает интерфейс подключения Cycle Database.
С версии: 171.3.0
Возвращает: DatabaseInterface — Активное подключение к БД.
query()¶
Выполняет SQL-запрос с параметрами.
С версии: 171.3.0
Параметры: - $sql — SQL-запрос с плейсхолдерами.
Возвращает: StatementInterface — Результат выполнения запроса.
paginate()¶
Формирует пагинированную выборку для сущности.
С версии: 171.3.0
Параметры: - $entity — Сущность или FQCN класса. - $orderby — Поле сортировки. - $sortby — Направление сортировки (ASC или DESC). - $limit — Количество записей на странице. - $page — Номер страницы.
Возвращает: ORM\Select — Настроенный объект выборки.
count()¶
Подсчитывает количество записей указанной сущности.
С версии: 171.3.0
Параметры: - $entity — Сущность или FQCN класса.
Возвращает: int — Число записей в таблице.
generateOrm()¶
Лениво создаёт и кэширует экземпляр ORM.
С версии: 171.3.0
Возвращает: ORM\ORM — Инициализированный ORM.
generateManager()¶
Возвращает менеджер базы данных Cycle, создавая его при необходимости.
С версии: 171.3.0
Возвращает: DatabaseManager — Менеджер подключений.
generateOrmConfig()¶
Формирует конфигурацию подключения из констант DLE.
С версии: 171.3.0
Возвращает: Config\DatabaseConfig — Конфигурация Cycle Database.
compileSchema()¶
Компилирует схему ORM и возвращает массив схемы вместе с мигратором.
С версии: 171.3.0
Параметры: - $registry — Реестр Cycle Schema.
Возвращает: array{0: array<string, mixed>, 1: Migrations\Migrator} — Схема и мигратор.
assertDatabaseConstants()¶
Проверяет наличие обязательных констант подключения к БД.
С версии: 171.3.0
loadDatabaseConfigIfNeeded()¶
Подключает dbconfig.php DLE, если константы БД ещё не определены.
С версии: 171.3.0