hyperf 十、分页

教程:Hyperf

我用的hyperf2需要自己安装

composer require hyperf/paginator

执行的时候会调用rm删除文件

rm -rf runtime/container

window调用会有问题,但是也有解决办法。

先删除 runtime/container,再改composer.json

 "require": {
……
"hyperf/paginator": "~2.2.0"
……
}

composer update
composer dump-autoload

一、使用

#App\Controller\TestController
public function test3()
    {
        $currentPage = (int) $this->request->input('page', 1);
        $perPage = (int) $this->request->input('perpage', 2);

        // 这里根据 $currentPage 和 $perPage 进行数据查询,以下使用 Collection 代替
        $collection = new Collection([
            ['id' => 1, 'name' => 'Tom'],
            ['id' => 2, 'name' => 'Sam'],
            ['id' => 3, 'name' => 'Tim'],
            ['id' => 4, 'name' => 'Joe'],
        ]);
        $users = array_values($collection->forPage($currentPage, $perPage)->toArray());

        return new Paginator($users, $perPage, $currentPage);
    }

#Hyperf\Paginator\Paginator
 public function __construct($items, int $perPage, ?int $currentPage = null, array $options = [])
    {
        foreach ($options as $key => $value) {
            $this->{$key} = $value;
        }

        $this->perPage = $perPage;
        $this->currentPage = $this->setCurrentPage($currentPage);
        $this->path = $this->path !== '/' ? rtrim($this->path, '/') : $this->path;

        $this->setItems($items);
    }

根据代码可以增加参数,比如path。

二、方法说明

 nextPageUrl         获取下一页路径

render        使用给定视图呈现分页器

hasMorePagesWhen        手动指示分页器确实有更多的页面

hasMorePages        是否有·更多分页

toArray        对象转数组

jsonSerialize        将对象转换为JSON可序列化的对象

toJson        对象转数组

previousPageUrl        上一页url

getUrlRange        获取一定范围的url

url        获取指定页的url

fragment        设置路径拼接信息。路径?参数#fragment

appends        增加请求参数

loadMorph        将一组关系加载到混合关系集合上

items        获取正在分页的项的切片

firstItem        获取第一条编号

lastItem        获取最后一条编号

perPage        获取每页数量

hasPages        判断是否有分页

onFirstPage        确定分页器是否在第一页上

currentPage        获取当前页

getPageName        获取用于存储该页的查询字符串变量

setPageName        设置用于存储该页的查询字符串变量

withPath        设置基础路径

setPath        设置基础路径 被withPath 调用

onEachSide        设置要在当前页面链接的每一边显示的链接数

resolveCurrentPath        解析当前请求路径或返回默认值

currentPathResolver        设置当前请求路径解析器回调

resolveCurrentPage        解析当前页面或返回默认值

currentPageResolver        设置当前页面解析器回调

getIterator        获取迭代器

isEmpty        判断是否为空

isNotEmpty        判断是否为非空

count        获取总条目

getCollection        获取收集器

setCollection        设置收集器

offsetExists        判断key是否存在

offsetGet        获取对应key值

offsetSet        修改key值

offsetUnset        取消key值使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lsswear

感谢大佬打赏 q(≧▽≦q)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值