在TP中M方法與D方法的區別

2021-08-20 06:21:32 字數 591 閱讀 1449

雖然都是例項化模型物件,兩者還是有區別的

d和m的區別主要在於:

m方法不需要建立模型類檔案,m方法不會讀取模型類,所以預設情況下自動驗證是無效的,但是可以通過動態賦值的方式實現

而d方法必須有建立模型類。

我們可以用下面兩種方法去建立乙個資料表的對映物件

第一種:$test = d(『test』)

第二種:$test = new model(『test』)

雖然這兩種都可以對資料進行select,insert,delete,udpate操作,在

資料驗證上有很大的不同,

用第一種方式例項乙個模型就會有資料檢查功能,如果 title 沒有填寫的話就會提示 「請輸入標題」 (這個是tp提供的乙個自動驗證功能,當然也需要在相應的model中定義好驗證條件);

如果用第二種就沒有了這個資料驗證功能,需要手動驗證。

d函式例項化的是你當前專案的lib/model下面的模組。

如果該模組不存在的話,直接返回例項化model的物件(意義就與m()函式相同)。

而m只返回,例項化model的物件。它的$name引數作為資料庫的表名來處理對資料庫的操作。

D方法與M方法

d方法 d例項化model模型usermodel類 user d user 相當於 user new home model usermodel user select 呼叫模型下的函式 當 home model usermodel 類不存在的時候,d函式會嘗試例項化公共模組 d方法會先查詢model...

解析thinkphp中的M 與D 方法的區別

d 和m 方法的區別 d和m的區別主要在於 m方法不需要建立模型類檔案,m方法不程式設計客棧會讀取模型類,所以預設情況下自動驗證是無效的,但是可以通過動態賦值的方式實現 而d方法必須有建立模型類。我們可以用下面兩種方法去建立乙個資料表的對映物件 第一種 test d test 第二種 test ne...

thinkphp中的M方法和D方法

thinkphp 中m方法和d方法都用於例項化乙個模型類,m方法 用於高效例項化乙個基礎模型類,而 d方法 用於例項化乙個使用者定義模型類。使用m方法 如果是如下情況,請考慮使用 m方法 1.對資料表進行簡單的 curd 操作而無複雜的業務邏輯時 2.只有個別的表有較為複雜的業務邏輯時,將 m方法 ...