digital-backstage/searchable

提供与分页库的互操作性

v1.3.1 2017-12-07 10:21 UTC

This package is not auto-updated.

Last update: 2024-09-11 08:20:58 UTC


README

提供接口,允许以标准化的方式搜索我们库中实现的存储库。

定义以下接口

DigitalBackstage\Searchable\Paginable

此接口定义了当查询 Searchable 存储库时应返回的内容。它应该是不可变的,提供所有可用项目的一个子集,以及分页信息,即

  • 当前页码;
  • 最后一页码;
  • 每页项目数;
  • 可用项目数。

页码从1开始。它扩展了 \Traversable,但没有扩展 \Countable,因为这会很令人困惑:它应该返回页数?可用项目数?当前页的项目数?

DigitalBackstage\Searchable\SearchQuery

Searchable 存储库通过此对象进行查询。它由一个表达式组成,该表达式应由存储库转换为DQL、SQL或JSON,并提供有关所需页码和页面大小的信息。

DigitalBackstage\Searchable\QueryExpression

这表示一个表达式,并且有多个实现。存储库应列出它们支持的实现。

DigitalBackstage\Searchable\SortedSearchQuery

如果客户端想指定除默认排序之外的排序顺序,则必须实现 SortedSearchQuery

DigitalBackstage\Searchable\Searchable

对象存储库。必须用 SearchQuery 进行查询,并必须返回 Paginable。必须宣传它支持的查询字段。应在适当的时候抛出 PageOutOfRangeUnsupportedSearchField