**如果是初学者,不用去追究源码,但是你需要知道tp为我们提供了哪些便利方法,这是关键**
* * * * *
| 名称 | |
| --- | --- |
| 路径 | thinkphp\library\think\Collection.php |
| 类名 | Collection |
我们需要知道 如果是一个Collection类,我们如何使用它。
* * * * *
#### 方法列表
| 方法|功能 |
| --- | --- |
| make |装载/生成/制作等等,怎么叫法都可以,就是生成一个新结果集合|
| isEmpty | 是否为空 |
| toArray | 是否为空 |
| all | 返回变量 items 所有数据集 |
| merge | 合并数组 |
| diff | 比较数组,返回差集 |
| flip | 交换数组中的键和值 |
| intersect | 比较数组,返回交集 |
| keys | 返回数组中所有的键名 |
| pop | 删除数组的最后一个元素(出栈) |
| reduce | 通过使用用户自定义函数,以字符串返回数组 |
| reverse | 以相反的顺序返回数组 |
| shift | 删除数组中首个元素,并返回被删除元素的值 |
| chunk | 把一个数组分割为新的数组块. |
| unshift |在数组开头插入一个元素 |
| each | 给每个元素执行个回调 |
| filter | 用回调函数过滤数组中的元素 |
| column | 返回数组中指定的一列|
| sort | 对数组排序 |
| shuffle | 将数组打乱 |
| slice | 截取数组 |
| offsetExists | 检查给定的$offset键名或索引是否存在于$this->items数组中 |
| offsetGet | 返回 $this->items数组中指定 $offset键名或索引 的数据或者对象 |
| offsetSet | 数组 中增加一条新数据或者对象 |
| offsetUnset |删除指定 $offset键名或索引 的数据或者对象 |
| count | 返回 计算数组中的单元数目或对象中的属性个数 |
| getIterator | 返回 创建外部迭代器 |
| jsonSerialize | 返回序列化数组 |
| toJson | 转换当前数据集为JSON字符串 |
| __toString | 返回JSON 格式数据 |
#### 源码阅读解析
这边有三篇博客文章可以参考
[第一篇](http://blog.csdn.net/fenglailea/article/details/52723586)
[第二篇](http://12942149.blog.51cto.com/12932149/1932756)
[第三篇](http://blog.csdn.net/lijingshan34/article/details/53167622)
其中第一篇写的特别好
- 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多语言