yii2 分頁類原始碼分析

2021-07-08 18:32:43 字數 945 閱讀 3464

yii2 分頁類原始碼分析

1,yii2的分頁類在yii\data\pagination,該類繼承object類,所以有很多屬性都可以使用。

2,控制器編寫

$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,編寫檢視

'firstpagelabel'=>'首頁','lastpagelabel'=>'尾頁']); 

?>

注:在分頁類檢視小組件裡,有很多屬性,用來配置分頁類的展示效果

yii2 分頁 和 ajax分頁

分 頁 在寫分頁之前,你需要在控制器引入use yii data pagination 物件為其填充資料,然後在進行下面的操作。public function actionshow 上面就是控制器的 接下來就該寫檢視層了。同樣在寫檢視層時要引入 use yii widgets linkpager p...

yii2 分頁 redis儲存

public function actionshow return this render show models models,pages pages,msg 資料庫取值 else return this render show models b,pages pages,msg redis取值 上...

YII2 原始碼閱讀 綜述

如何閱讀原始碼呢?我的方法是,開啟xdebug的auto trace xdebug xdebug.profiler enable 1 xdebug.profiler enable trigger 0 xdebug.auto trace on xdebug.collect vars on xdebug...