Класс: MhDB
Краткое содержание:
Класс для работы с базой данных
Свойства
- private $em
- private $orm
- private $orm_config
- private $orm_manager
- private $user_db
Методы
- public __construct()
- public count()
- public create()
- public delete()
- public get()
- public getAll()
- public getManager()
- public getOrm()
- public paginate()
- public query()
- public repository()
- public run()
- public setManager()
- public update()
- private compileSchema()
- private generateManager()
- private generateOrm()
- private generateOrmConfig()
Подробности
- Путь: engine/inc/maharder/_includes/database/MhDB.php
Свойства
private $em : ?\Cycle\ORM\EntityManager
Краткое содержание
Менеджер сущностей ORM, обеспечивающий операции CRUD и управление состоянием сущностей.
Описание
Инициализируется в методе setManager
.
**Тип: ** EntityManager
private $orm : ?\Cycle\ORM\ORM
Краткое содержание
ORM-класс для управления объектами и предоставления операций высокого уровня.
Описание
Используется для создания экземпляра ORM, управления сущностями, получением менеджера базы данных и выполнения запросов.
**Тип: ** ORM
private $orm_config : ?\Cycle\Database\Config\DatabaseConfig
Краткое содержание
Конфигурация базы данных для настройки параметров подключения, драйвера и других настроек.
Описание
Генерируется с помощью метода generateOrmConfig
.
**Тип: ** DatabaseConfig
private $orm_manager : ?\Cycle\Database\DatabaseManager
Краткое содержание
Менеджер базы данных, предоставляющий функционал работы с подключениями и конфигурациями БД.
Описание
Генерируется с помощью метода generateManager
.
**Тип: ** DatabaseManager
Подробности:
private $user_db : bool
Краткое содержание
Флаг, определяющий подключение к базе данных пользователя (true) или основной базы данных (false).
Описание
Используется при создании конфигурации базы данных.
Тип: Логические значения
Методы
__construct
Text Only | |
---|---|
Краткое содержание
Конструктор класса MhDB.
Описание
Настраивает базу данных, инициализирует ORM, а также управляет объектом EntityManager.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$user_db | bool | false |
Ошибки:
Тип | Описание |
---|---|
\Cycle\ORM\Exception\SchemaException | Если при генерации ORM произошла ошибка в схеме базы данных. |
\Cycle\Migrations\Exception\MigrationException | Если миграции не могут быть выполнены. |
\RuntimeException | Если не удается нормально настроить конфигурацию подключения к базе данных. |
Возвращает:
Text Only | |
---|---|
count
Text Only | |
---|---|
Краткое содержание
Подсчитывает количество записей для указанной сущности.
Описание
Эта функция использует репозиторий, связанный с сущностью, для выполнения запроса на подсчет количества записей.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$entity | object|string |
Возвращает:
Text Only | |
---|---|
Количество записей в репозитории, связанных с данной сущностью.
create
Text Only | |
---|---|
Краткое содержание
Обновляет предоставленную сущность в базе данных.
Описание
Эта функция выполняет процесс обновления сущности посредством вызова метода run
, который предполагает выполнение различных ORM-операций, таких как persist
.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$entity | object |
Ошибки:
Тип | Описание |
---|---|
\ORM\Exception\EntityNotManagedException | Если сущность не управляется текущим менеджером сущностей. |
\ORM\Exception\TransactionException|\Throwable | Если транзакция не может быть завершена. |
Возвращает:
Text Only | |
---|---|
Возвращает состояние ORM-транзакции после обновления сущности.
delete
Text Only | |
---|---|
Краткое содержание
Удаляет сущность на основе переданного объекта и первичного ключа.
Описание
Эта функция выполняет следующие шаги:
- Извлекает объект сущности из базы данных с помощью метода
get
. - Передает этот объект менеджеру сущностей для удаления.
- Выполняет транзакцию удаления.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$entity | object|string | |
$pk | int |
Ошибки:
Тип | Описание |
---|---|
\Throwable | При любой ошибке в ORM (например, сбой во время удаления). |
Возвращает:
Text Only | |
---|---|
Возвращает состояние завершенной транзакции удаления.
get
Text Only | |
---|---|
Краткое содержание
Получает сущность из хранилища данных по её первичному ключу.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$entity | object|string | |
$pk | int |
Возвращает:
Text Only | |
---|---|
Возвращает найденный объект сущности или null, если объект с заданным первичным ключом отсутствует.
getAll
Text Only | |
---|---|
Краткое содержание
Получает все записи для указанной сущности из хранилища.
Описание
Этот метод использует репозиторий, ассоциированный с указанной сущностью, для получения всех записей из базы данных.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$entity | object|string |
Возвращает:
Text Only | |
---|---|
Массив объектов сущности, извлеченных из базы данных. Если данных в хранилище нет, возвращается пустой массив.
getManager
Text Only | |
---|---|
Возвращает:
Text Only | |
---|---|
getOrm
Text Only | |
---|---|
Краткое содержание
Возвращает экземпляр ORM, создавая его при необходимости.
Описание
Данный метод вызывает generateOrm
, который инициализирует ORM, используя настраиваемые зависимости, такие как Schema, Factory, Container и CommandGenerator. Повторные вызовы возвращают уже созданный экземпляр ORM.
Ошибки:
Тип | Описание |
---|---|
\RuntimeException | Если при генерации ORM возникли ошибки. |
Возвращает:
Text Only | |
---|---|
Экземпляр ORM.
paginate
Text Only | |
---|---|
Краткое содержание
Пагинирует данные из базы данных для указанной сущности.
Описание
Этот метод извлекает данные для заданной сущности, применяет сортировку и пагинацию на основе переданных параметров и возвращает настроенный объект ORM\Select
.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$entity | object|string | |
$orderby | string | |
$sortby | string | 'DESC' |
$limit | int | 10 |
$page | int | 1 |
Возвращает:
Text Only | |
---|---|
Настроенный объект Select, содержащий отсортированные и пагинированные данные.
query
Text Only | |
---|---|
Краткое содержание
Выполняет SQL-запрос с указанными параметрами и возвращает результат.
Описание
Метод использует объект DatabaseManager для получения соединения с базой данных и дальнейшего выполнения SQL-запроса. Позволяет передавать параметры для безопасного выполнения подготовленных запросов.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$sql | string | |
$params | array | [] |
Ошибки:
Тип | Описание |
---|---|
\InvalidArgumentException | Может бросить исключение при передаче некорректного SQL-запроса. |
\RuntimeException | Может бросить исключение, если соединение с базой данных невозможно. |
Возвращает:
Text Only | |
---|---|
Результирующий объект, представляющий результат выполнения запроса.
repository
Text Only | |
---|---|
Краткое содержание
Возвращает репозиторий для указанной сущности или класса сущности.
Описание
Эта функция принимает объект сущности или строку, представляющую имя класса сущности, определяет их имя класса и возвращает соответствующий репозиторий, используя ORM.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$entity | object | string |
Ошибки:
Тип | Описание |
---|---|
\ORM\Exception\RepositoryNotFoundException | Если репозиторий для указанной сущности не найден. |
Возвращает:
Text Only | |
---|---|
Интерфейс репозитория для работы с указанной сущностью.
run
Text Only | |
---|---|
Краткое содержание
Выполняет сохранение сущности и возвращает состояние транзакции.
Описание
Этот метод обрабатывает сохранение переданного объекта сущности с использованием связанного EntityManager
. Завершает операцию методом run()
, который выполняет транзакцию и возвращает её результирующее состояние.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$entity | object |
Ошибки:
Тип | Описание |
---|---|
\RuntimeException|\Throwable | Исключение выбрасывается, если EntityManager не был корректно инициализирован, что приводит к ошибке сохранения. |
Возвращает:
Text Only | |
---|---|
Результирующее состояние транзакции после сохранения сущности.
setManager
Text Only | |
---|---|
Краткое содержание
Устанавливает экземпляр EntityManager на основе текущего ORM.
Описание
Метод инициализирует объект EntityManager (менеджера для управления сущностями) на основе существующего объекта ORM (Object-Relational Mapping). Если ORM не был предварительно сконфигурирован, это может привести к выбросу ошибок в процессе создания EntityManager.
Ошибки:
Тип | Описание |
---|---|
\RuntimeException | Если объект ORM не был предварительно создан. |
Возвращает:
Text Only | |
---|---|
update
Text Only | |
---|---|
Краткое содержание
Обновляет предоставленную сущность в базе данных.
Описание
Эта функция выполняет процесс обновления сущности посредством вызова метода run
, который предполагает выполнение различных ORM-операций, таких, как persist
.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$entity | object |
Ошибки:
Тип | Описание |
---|---|
\ORM\Exception\EntityNotManagedException | Если сущность не управляется текущим менеджером сущностей. |
\ORM\Exception\TransactionException|\Throwable | Если транзакция не может быть завершена. |
Возвращает:
Text Only | |
---|---|
Возвращает состояние ORM-транзакции после обновления сущности.
compileSchema
Text Only | |
---|---|
Краткое содержание
Генерирует и компилирует схему на основе переданного реестра и генераторов схем.
Описание
Этот метод обрабатывает пути моделей с использованием глобального объекта $MIGRATOR
, находит классы и использует их для генерации комплексной схемы базы данных. Примечание: Метод использует глобальную переменную $MIGRATOR
, поэтому убедитесь, что она правильно инициализирована до вызова метода.
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$registry | \Registry |
Ошибки:
Тип | Описание |
---|---|
\LogicException | Если при компиляции схемы возникли логические ошибки. |
\RuntimeException | Если невозможно найти файлы моделей или извлечь классы. |
Возвращает:
Text Only | |
---|---|
Возвращает скомпилированную схему в виде массива.
generateManager
Text Only | |
---|---|
Краткое содержание
Создает и возвращает экземпляр класса DatabaseManager.
Описание
Если объект orm_manager
еще не создан, метод инициирует новый объект DatabaseManager
на основе конфигурации ORM, полученной из метода generateOrmConfig
.
Смотри так-же:
Ошибки:
Тип | Описание |
---|---|
\RuntimeException | Генерируется, если не удается подключить необходимый файл конфигурации базы данных. |
\ConfigException | Генерируется, если конфигурация базы данных содержит ошибки. |
Возвращает:
Text Only | |
---|---|
Экземпляр менеджера базы данных, конфигурированного с помощью ORM.
generateOrm
Text Only | |
---|---|
Краткое содержание
Создает и возвращает экземпляр ORM (Object-Relational Mapper), используя предварительно скомпилированную схему, фабрику ORM, менеджер базы данных, а также генератор команд с поддержкой событий. Если ORM уже инициализирован, то возвращает ранее созданный объект.
Описание
Генерация ORM основывается на схеме, созданной методом {@see}, которой, в свою очередь, необходим зарегистрированный реестр сущностей. Управление базой данных осуществляется через метод {@see}.
Ошибки:
Тип | Описание |
---|---|
\RuntimeException | Если генерация схемы или конфигурации базы данных завершилась с ошибкой. |
Возвращает:
Text Only | |
---|---|
Объект ORM (Object-Relational Mapper), предназначенный для взаимодействия с базой данных.
generateOrmConfig
Text Only | |
---|---|
Краткое содержание
Генерирует и возвращает объект конфигурации базы данных ORM, если он ещё не создан.
Описание
Функция проверяет, был ли ранее инициализирован объект конфигурации ORM. Если объект отсутствует, производится его создание на основании глобальных настроек. Подключается файл конфигурации базы данных и выполняется подготовка данных, таких как разбиение хоста и порта, а также выборка префикса таблиц в зависимости от типа базы данных.
Возвращает:
Text Only | |
---|---|
Объект конфигурации базы данных ORM.