Download the PHP package moro/indexer-common without Composer
On this page you can find all versions of the php package moro/indexer-common. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download moro/indexer-common
More information about moro/indexer-common
Files in moro/indexer-common
Package indexer-common
Short Description A library that provides common classes for entities indexer
License MIT
Informations about the package indexer-common
Пакет для формирования дополнительных индексов
Задачей данного пакета является создание индексов со сложными условиями, в том числе с теми что изменяются со временем. Примером может служить сущность с параметрами времени начала и окончания её активности. В зависимости от этого она может добавляться или удаляться из определённых индексов. В качестве второго примера будет индекс распределения сущностей по возрастной категории их авторов.
Для упрощения использования пакета в него добавлен компонент для хранения представлений сущности. Его использование позволяет получать по индексу не только идентификаторы сущностей но и конкретные их представления. Например, анонс материала, состоящий из картинки, заголовка, лида, автора, иконки автора. Это представление требует достаточно разной информации и, следовательно, когда оно уже подготовленно и его не надо формировать, мы получаем экономию ресурсов сервера.
Фасады
Предназначены для использования в приложении. Каждый из них используется как публичное API для конкретной задачи.
-
- фасад для использования библиотеки в приложении.
-
- API для фонового процесса (может быть расположен и на другом сервере).
Компоненты пакета
-
- общие типажи (traits).
-
- классы определяющие порядок действий при вызове API методов.
-
- адаптер внешней шины для обмена сообщениями между клиентским приложением и фоновым процессом сервиса.
-
- классы для создания дерева объектов по данным из некой конфигурации.
-
- менеджер событий пакета.
-
- интерфейсы для дополнительной группировки исключений компонентов.
-
- компонент отвечающий за хранение, получение и обновление записей индексов.
-
- классы для интеграции пакета с некоторыми DI контейнерами.
-
- менеджер определения принадлежности сущности к конкретным индексам и представлениям.
-
- планировщик заданий на будущее время.
-
- компонент для взаимодействия с внешними источниками сущностей.
-
- набор стратегий вызовов действий для ServiceFacade (обращаться к хранилищу или к командной шине).
-
- вспомогательный компонент, отвечающий за транзакционность действий с хранилищами данных.
-
- компонент отвечающий за формирование и хранение представлений сущности.
-
- менеджер определения принадлежности сущности к конкретным индексам и представлениям.
Интеграция
- Для начала необходимо определить или написать классы взаимодействия с адаптерами и хранилищами.
- После этого подключаем классы пакета к используемому DI контейнеру.
- Создаём тип сущности и пишем классы для работы с ней (нормализаторы, инструкции, представления).
- По необходимости добавляем декораторы и слушателей для компонентов пакета.
Version 0.7.2