loyaltycorp/easy-pagination

此包已被弃用且不再维护。作者建议使用 eonx-com/easy-pagination 包。

提供了一种处理客户端分页数据的方法

v0.10.7 2019-09-19 23:56 UTC

README

提供了一种处理客户端分页数据的方法。

你在想这个包对你是否有用,对吧?以下是一些帮助你找出答案的点

  • 你有 PHP 应用程序
  • 你需要处理来自客户端的分页数据
  • 你厌倦了反复解决 "page" 和 "perPage"(或你想要称呼这些参数的方式)的问题
  • 或者厌倦了听到 "分页对博客文章评论不起作用",意识到你在 "parPage" 中有拼写错误
  • ...

此包为你提供了开箱即用的工具来实现一个通用的、集中的和一致的分页数据管理系统,让你远离任何麻烦:)

文档

安装

推荐使用 Composer 安装此包。

$ composer require loyaltycorp/pagination

工作原理

此包提供不同的 "解析器",可以根据你的配置从请求中提取分页数据。为了保证互操作性,解析器期望一个 PSR7 ServerRequestInterface,如果你的项目也使用它,那就太完美了!但如果它没有使用也没有关系,你可以使用 EasyPsr7Factory 包,它将为你转换请求!

解析器

你找不到你想要的解析器吗?请告诉我们,或者更好的是创建一个 PR :)

StartSize 解析器

"StartSize" 解析器假设你的分页仅基于两个属性来定义起始位置及其大小。这些属性的名字或默认值是什么?这完全取决于你!这里有一个 StartSizeConfigInterface(及其默认实现),你可以定义所有这些内容。

以下是一些你可以配置的示例

start_attributes start_default size_attribute size_default
page 1 perPage 15
_page 1 _per_page 15
number 1 size 15
offset 0 limit 30
StartSize 解析器列表