adamlast/paginate

用于可遍历列表或集合的分页类

0.1.1 2021-06-17 22:09 UTC

This package is not auto-updated.

Last update: 2024-09-21 12:22:08 UTC


README

简单的分页库,旨在在任意 可遍历 PHP 集合上工作。这可以是一个数组或任何实现了 Iterator 和 Countable 接口的类。

安装

您可以使用 Composer 安装 Paginate。为此,只需在您的 composer.json 文件中要求此包。

{
    "require": {
        "adamlast/Paginate": "^0.1.0"
    }
}

然后运行 composer update 以安装此包。

摘要

有两个组件类

  • PaginatorService,它接受集合作为构造参数,并返回一个指定的
  • Page 对象,该对象包含应位于“页面”上的集合项以及关于该页面的相关信息,允许构建如“第1页,共25页”等。

简单示例

use AdamLast\Paginate\PaginationService;

$array = ['Dingo', 'Scorpion', 'Snake', 'Shark', 'Jellyfish',
'Spider', 'Cassowary', 'Ant', 'Termite', 'Magpie',
'Kangaroo', 'Dropbear', 'Emu', 'Crocodile', 'Mosquito'];

$service = new PaginationService($array, 5);

$page = $service->getPage(2);

print ("Page ".  $page->currentPageNumber() . " of " . $page->numberOfPages(). "\n");

foreach ($page as $k => $item) {
    print("Item {$k}: {$item} \n");
}

当前待办事项列表

  1. PaginationService 应尽可能地支持 array_slice。
  2. 参数检查
  3. 异常及其单元测试
  4. 扩展 Page 类以支持 下一页 / 上一页 功能
  5. 更多示例请参阅文档
  6. 支持传递闭包以启用对集合特定切片的延迟加载(如果支持)。