分页器
安装
基本使用
只需存在数据集和分页需求,便可通过实例化一个 类来进行分页处理,该类的构造函数接收 __construct($items, int $perPage, ?int $currentPage = null, array $options = [])
参数,我们只需以 数组(Array)
或 Hyperf\Utils\Colletion
集合类的形式传递数据集到 $items
参数,并设定每页数据量 $perPage
和当前页数 $currentPage
即可,$options
参数则可以通过 Key-Value
的形式定义分页器实例内的所有属性,具体可查阅分页器类的内部属性。
<?php
namespace App\Controller;
use Hyperf\HttpServer\Annotation\AutoController;
use Hyperf\HttpServer\Contract\RequestInterface;
/**
* @AutoController()
*/
class UserController
{
public function index(RequestInterface $request)
{
$currentPage = $request->input('page', 1);
$perPage = 2;
$users = [
['id' => 1, 'name' => 'Tom'],
['id' => 2, 'name' => 'Sam'],
['id' => 3, 'name' => 'Tim'],
['id' => 4, 'name' => 'Joe'],
];
}
}
分页器方法
<?php
$currentPage = $paginator->currentPage();
获取当前页的条数
<?php
$firstItem = $paginator->firstItem();
获取当前页中最后一条数据的编号
<?php
$lastItem = $paginator->lastItem();
获取上一页和下一页的 URL
<?php
// 下一页的 URL
$nextPageUrl = $paginator->nextPageUrl();
// 上一页的 URL
$previousPageUrl = $paginator->previousPageUrl();
<?php
// 获取指定 $page 页数的 URL