roquie/laravel-perpage-resolver

为全局解析 per_page 查询参数添加了几个功能。

2.0.0 2021-03-31 10:00 UTC

This package is auto-updated.

Last update: 2024-08-29 04:37:04 UTC


README

Build Status Coverage Status

此包添加了与 currentPageResolver 相同的 perPageResolver 方法。现在,?per_page=100 参数对所有模型都提供了全局访问(类似于 ?page=2)。

如何使用

首先,安装 composer 包

composer require roquie/laravel-perpage-resolver

其次,应用服务提供者(如果使用 Laravel 5.5+,则不需要自动发现包

// config/app.php, the providers array
// ...
Roquie\LaravelPerPageResolver\PerPageResolverServiceProvider::class,

第三,您可以在模型中使用 PerPageResolverTrait(推荐)

use Illuminate\Database\Eloquent\Model;
use Roquie\LaravelPerPageResolver\PerPageResolverTrait;

class User extends Model
{
    use PerPageResolverTrait;
// ...

... 或者扩展包的 Model 类

class User extends \Roquie\LaravelPerPageResolver\Model
{
// ...

运行它!

升级

  1. 因此,如果您从 1.* 版本更新到 2.* 版本,以下是需要了解的信息
  • 它破坏了向后兼容性
  • 仅支持 PHP 8.0
  • 仅支持 Laravel ^8, ^9
  • 由于安全原因,更新了 illuminate/database 包到 ^8
  1. 因此,如果您从 1.1.0 版本更新到 1.2.* 版本,以下是需要了解的信息
  • 存在向后兼容性
  • 支持 PHP 8.0, 7.4, 7.3
  • 支持 Laravel ^5, ^6, ^7, ^8, ^9
  1. 因此,如果您从 1.0.0 版本更新到 1.1.0 版本,以下是需要了解的信息
  • 存在向后兼容性
  • 修复了“bug”,当其他查询参数未附加到 URI 时
  • 添加了包自动发现功能。

测试

100% 代码覆盖率。包括集成测试。

许可证

MIT 许可证 (MIT)

版权所有 © 2021 Roquie roquie0@gmail.com

特此授予任何人获取本软件及其相关文档副本(“软件”)的权利,免费使用软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,以及允许向软件提供者提供软件的人进行上述行为,前提是上述版权声明和本许可声明应包含在所有副本或实质部分中。软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是基于合同、侵权或其他方式,是否因软件或其使用或其它方式与之相关而产生。