ThinkPHP函式詳解 D方法

2022-04-29 07:09:11 字數 1236 閱讀 7504

從本篇開始,我們會陸續給大家詳細說明下框架內建函式的用法。

d方法應該是用的比較多的方法了,用於例項化自定義模型類,是thinkphp框架對model類例項化的一種封裝,並實現了單例模式,支援跨專案和分組呼叫,呼叫格式如下:

d('[專案://][分組/]模型','模型層名稱')

方法的返回值是例項化的模型物件。

d方法可以自動檢測模型類,如果存在自定義的模型類,則例項化自定義模型類,如果不存在,則會例項化model基類,同時對於已例項化過的模型,不會重複去例項化。

d方法最常用的用法就是例項化當前專案的某個自定義模型,例如:

//

例項化user模型

$user = d('user');

會匯入當前專案下面的lib/model/usermodel.class.php檔案,然後例項化usermodel類,所以,實際上的**可能和下面的等效:

import('@.model.usermodel');

$user = new usermodel();

但是如果使用d方法的話,如果這個usermodel類不存在,則會自動呼叫

new model('user');

並且第二次呼叫的時候無需再次例項化,可以減少一定的物件例項化開銷。

d方法可以支援跨分組和專案例項化模型,例如:

//

例項化admin專案的user模型

d('admin://user')

//例項化admin分組的user模型

d('admin/user')

注意:要實現跨專案呼叫模型的話,必須確保兩個專案的目錄結構是並列的。

3.1版本開始,由於增加了分層模型的支援,所以d方法也可以例項化其他的模型,例如:

//

例項化userservice類

$user = d('user','service');

//例項化userlogic類

$user = d('user','logic');

d('user','service');

會匯入lib/service/userservice.class.php,並例項化,等效於下面的**:

import('@.service.userservice');

$user = new userserivce();

ThinkPHP函式詳解 A方法

a方法用於在內部例項化控制器,呼叫格式 a 專案 分組 模組 控制器層名稱 最簡單的用法 user a user 複製 表示例項化當前專案的useraction控制器 這個控制器對應的檔案位於lib action useraction.class.php 如果採用了分組模式,並且要例項化另外乙個ad...

ThinkPHP函式詳解 I方法

其命名來自於英文input 輸入 主要用於更加方便和安全的獲取系統輸入變數,可以用於任何地方,用法格式如下 i 變數型別.變數名 預設值 過濾方法 變數型別是指請求方式或者輸入型別,包括 變數型別 含義get 獲取get引數 post 獲取post引數 param 自動判斷請求型別獲取get pos...

ThinkPHP函式詳解 U方法

u方法用於完成對url位址的組裝,特點在於可以自動根據當前的url模式和設定生成對應的url位址,格式為 u 位址 引數 偽靜態 是否跳轉 顯示網域名稱 在模板中使用u方法而不是固定寫死url位址的好處在於,一旦你的環境變化或者引數設定改變,你不需要更改模板中的任何 在模板中的呼叫格式需要採用 的方...