yii2 分页类源码分析

20 篇文章 0 订阅
7 篇文章 0 订阅

yii2 分页类源码分析


1,yii2的分页类在yii\data\pagination,该类继承object类,所以有很多属性都可以使用。

2,控制器编写

<?php
namespace app\controllers;
use Yii;
use yii\web\Controller;
use app\models\Works;
use yii\data\Pagination;
class TestController extends Controller
{
public function actionIndex()
{

$data = Works::find();//生成数据对象

        $pages = new Pagination(['totalCount' =>$data->count(), 'pageSize' => '10']);
        
   $model = $data->offset($pages->offset)->limit($pages->limit)->all();//$pages->offset是调用了分页类下的getoffset()

$pages->limit同理是调用了分页类下的getlimit(),这些事object下魔术方法,__set,__get的作用。


   return $this->renderPartial('index', [
        'model' => $model,
        'pages' => $pages,
   ]);
}

分析:分页类继承object类,那么$pages->offset的调用会触发object下的__get方法,变相调用分页类下的getoffset()

3,编写视图

<?php


use yii\widgets\LinkPager;


foreach($model as $key=>$val){
echo $val['act_id'];
}


echo LinkPager::widget(['pagination' => $pages,'nextPageLabel'=>'下一页','nextPageLabel'=>'上一页',

'firstPageLabel'=>'首页','lastPageLabel'=>'尾页']); 


?>

注:在分页类视图小组件里,有很多属性,用来配置分页类的展示效果


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值