以下是thinkphp的Collection源码
~~~
class Collection
{
protected $items = [];
public function __construct($items = [])
{
$this->items = $this->convertToArray($items);
}
// 静态方法创建一个Collection实例
public static function make($items = [])
{
return new static($items);
}
}
~~~
这是一个通用套路,yii2里面也是这么写,都是这么写。
public的static方法保证了不用实例化就可以调用make方法,一旦调用,则调用__construct,存入item数组参数,返回一个Collection对象。
* * * * *
我们可以在paginator源码里面看到如何调用的
~~~
if (!$items instanceof Collection) {
$items = Collection::make($items);
}
~~~
再看$items是如何用的
~~~
$items->slice($this->listRows, 1);
~~~
slice是Collection类中的public方法
也就是说,传入一个item数组参数,通过make方法,返回一个Collection对象。
- 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多语言