以下是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多語言