shorif2000 / pagination
为项目列表创建分页控制结构
2.0
2019-11-05 13:48 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: ^8.5@dev
This package is auto-updated.
Last update: 2024-09-06 02:32:54 UTC
README
为项目列表创建分页控制结构。支持可遍历的列表或集合,并生成定义分页参数的数据结构。(如 array/ArrayObject 和可能的 mysql 数据库连接)。
先决条件
- Composer
- PHP 7.1
安装
composer require shorif2000/pagination
用法
数组
use Pagination\PaginatorFactory; use Pagination\Lib\ArrayPageProvider; ... $pageNumber = 1; $itemsPerPage = 10; $input = range(0, 100); $input = array_slice($input, 0, 10); $pagination = (new PaginatorFactory(new ArrayPageProvider($input)))->createPaginator($pageNumber, $itemsPerPage);
ArrayObject
use Pagination\PaginatorFactory; use Pagination\Lib\ArrayObjectPageProvider; ... $itemsPerPage = 10; $input = range(0, 100); $input = array_slice($input, 0, 10); $input = new \ArrayObject($input); $pageNumber = 1; $pagination = (new PaginatorFactory(new ArrayObjectPageProvider($input)))->createPaginator($pageNumber, $itemsPerPage);
您可以使用以下函数来获取数据
public function getItems(); public function getCurrentPageNumber(): int; public function getNumberOfPages(): int; public function getTotal(): int; public function getTotalOnCurrentPage(): int; public function getTotalPerPage(): int;
实验性
支持数据库。
use Pagination\PaginatorFactory; use Pagination\Lib\DbPagintaor; ... $pageNumber = 1; $itemsPerPage = 10; $input = range(0, 100); $input = array_slice($input, 0, 10); $pdo = ''; // mysql resource $table = 'country'; $pagination = (new PaginatorFactory(new DbPagintaor($pdo, $table)))->createPaginator($pageNumber, $itemsPerPage);
运行测试
phpunit --debug tests/PaginatorTest.php