牛骨文教育服务平台(让学习变的简单)
博文笔记

yii2 分页类源码分析

创建时间:2015-12-10 投稿人: 浏览次数:144

yii2 分页类源码分析


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

2,控制器编写

<?php
namespace appcontrollers;
use Yii;
use yiiwebController;
use appmodelsWorks;
use yiidataPagination;
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 yiiwidgetsLinkPager;


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


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

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


?>

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


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。