moro / indexer-common
提供实体索引器公共类库的库
0.7.2
2019-09-04 10:38 UTC
Requires
- php: >=7.1
- ext-json: *
- psr/container: 1.0.0
- psr/log: 1.0.0
Requires (Dev)
- codeception/assert-throws: ~1.0
- codeception/codeception: ~2.0
- codeception/specify: ~1.0
- codeception/verify: ~1.0
- doctrine/dbal: ~v2.6
- infection/infection: ~0.5
- moro/container7: ~1.4
- phing/phing: ~2.0
- symfony/config: ~v4.0
- symfony/dependency-injection: ~v4.0
- symfony/http-kernel: ~v4.0
README
该包的目的是创建具有复杂条件(包括随时间变化的条件)的索引。例如,可以是一个具有活动开始和结束时间参数的实体。根据这些参数,它可以被添加到或从特定索引中删除。第二个例子是将实体按其作者年龄分类的索引。
为了简化包的使用,其中添加了一个用于存储实体表示的组件。它的使用允许通过索引不仅检索实体标识符,还可以检索具体的实体表示。例如,一个由图片、标题、引言、作者、作者图标组成的材料公告。这种表示需要足够多的信息,因此当它已经准备好并且不需要生成时,我们可以节省服务器资源。
界面
适用于应用程序。每个界面都用作特定任务的公共API。
ServiceFacade
- 在应用程序中使用库的界面。BackendFacade
- 背景过程的API(可能位于另一个服务器上)。
包组件
Accessory
- 通用类型(特性)。Action
- 定义调用API方法时顺序的类。Bus
- 用于在客户端应用程序和后台服务进程之间交换消息的外部总线适配器。Configuration
- 用于根据配置数据创建对象树的类。Dispatcher
- 包的事件管理器。Exception
- 用于对组件的异常进行额外分组。Index
- 负责存储、检索和更新索引记录的组件。Integration
- 用于与某些DI容器集成的类。Regulation
- 确定实体属于特定索引和表示的经理。Scheduler
- 未来时间任务计划器。Source
- 与外部实体源交互的组件。Strategy
- 为ServiceFacade提供调用操作的策略集(访问存储或命令总线)。Transaction
- 负责数据存储操作的事务性。View
- 负责生成和存储实体表示的组件。
集成
- 首先需要定义或编写与适配器和存储交互的类。
- 然后,将包的类连接到所使用的DI容器。
- 创建实体类型并编写与其工作的类(规范化器、指令、表示)。
- 如有必要,为包的组件添加装饰器和监听器。
版本 0.7.2