spacetab-io/paginate-php

异步 PHP 分页。为 Amphp 创建。

1.0.1 2020-04-13 13:09 UTC

This package is auto-updated.

Last update: 2024-09-13 22:48:59 UTC


README

CircleCI codecov

基于 Amphp 的简单异步分页器。

安装

composer require spacetab-io/paginate

使用

use Spacetab\Paginate\Paginator;
use Spacetab\Paginate\Adapter\SqlAdapter;
use Amp\Postgres;
use function Amp\call;

call(function() {
    $connection = new Postgres\ConnectionConfig('127.0.0.1');
    $paginator  = new Paginator(new SqlAdapter(new Postgres\Pool($connection), 'table_name'));
    $paginator->setPage($query['page'] ?? null);
    $paginator->setPerPage($query['per_page'] ?? null);
    
    /** @var \Spacetab\Paginate\ResultSet $results */
    $results = yield $paginator->doPaginate();

    $results->getItems();
    $results->getCount();
    $results->getPrev();
    $results->getNext();
    $results->getTotal();
});

ArrayAdapter 也可用。

依赖

  • >= PHP 7.4
  • 使用 Composer 安装包

许可证

MIT 许可证

版权所有 © 2020 spacetab.io, Inc. https://spacetab.io

特此授予任何获得此软件及其相关文档副本(“软件”)的人免费使用该软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向获得软件的人提供这样做,但需遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是基于合同、侵权或其他方式,源于、因之而产生或与之相关,涉及软件或软件的使用或其他交易。