请先看 [套路之类结构](https://ihavenolimitations.xyz/railsbug/thinkcmf/419136)
分页源码
~~~
public function __construct($items)
{
if (!$items instanceof Collection) {
$items = Collection::make($items);
}
$items = $items->slice(0, $this->listRows);
$this->items = $items;
}
public static function make($items)
{
return new static($items, $listRows, $currentPage, $total, $simple, $options);
}
~~~
可以看出,类结构都是一个套路的,make,__contruct。
不同的是,分页中调用了Collection类的make函数。实例化以后,还用了一次slice切片方法。
page分页如何运用呢?
它是通过继承来实现分页的。
~~~
class Bootstrap extends Paginator
~~~
至此,分页的大体脉络咱们就掌握了
thinkphp创建了Collection类。
paginator的item本质上是一个Collection对象,里面封装了一些自己对item的操作方法。
bootstrap类继承了paginator类,是对html结构的一些封装。
- php套路
- 套路之类结构
- thinkphp分块解析之Collection
- thinkphp基础之collection
- Collection在thinkphp中的运用
- thinkcmf模块分析
- Controller按界面点击顺序排列表
- user模块-Controller分析
- portal模块-Controller分析
- admin模块-Controller分析
- user模块-脑图
- portal模块-脑图
- admin模块-脑图
- cmf公共函数解析-common.php
- thinkcmf点滴记录
- 自定义标签详解
- 插件
- 系统信息插件
- 插件演示插件
- 留言板插件
- 留言板1 建立胚胎
- 留言板1-1 数据库变化
- 留言板1-2 自定义钩子
- 留言板2 连接数据库
- 留言板3 读取后台界面数据
- 留言板4 前端模板
- 留言板5 分离cssjs文件
- 留言板6 验证
- 留言板7 图形验证码
- 留言板8 后台留言列表页
- 留言板9 后记
- 评论插件
- 1 分析数据表
- 2 CommentModel.php
- 3 UserModel.php
- 4 DCommentPlugin.php
- 前端调用代码
- 喜欢插件
- 1 分析
- 2 收藏功能
- 3 插件建模
- 4 数据库设计
- 5 插入一条数据
- 多语言
- thinkphp多语言
- thinkcmf多语言