thinkphp中M()和D()的理解

2022-09-16 19:24:10 字數 610 閱讀 4227

在tp框架中基於mvc設計模式中的model資料夾下,處理資料時會建立和表相關的模型類檔案。在控制器中需要使用時需要例項化模型類物件,寫語句

1.$a  = new goodsmodel();

這是基於建立了goodsmodel.class.php檔案,裡邊可能寫有自己的個性化的方法。

而為了簡化這個**就可以使用函式d();這種稱為快捷函式,我理解就是快捷例項化模型的方法吧。

$goods_model  = d(「goods」);

它與上邊**等價。他們都基於實實在在建立的模型檔案。當d()的引數為空時,相當於建立了基類model的例項。

因為系統自己有一些curd的方法,在我們進行這些基本的操作時不用建立相關表的模型檔案。直接例項化基類物件就可以呼叫。

這就用到了m()方法。它例項化的是基類model的物件

$model = m();

而語句

$model = m(『user』);

建立基類model

物件,但是操作的資料表

user

在呼叫個性化的方法即使你自己寫的函式時候,就不能用m()了,因為他不能呼叫子類的函式。

ThinkPhp中M和D的區別

d函式例項化的是 你當前專案的lib model下面的模組 如果該模組不存在的話 直接返回例項化model的物件 意義就與m 函式相同 而m 只返回 例項化 model的物件.它的 name引數 作為資料庫的表名來處理對資料庫的操作 通俗點說,d就是例項化乙個基於model檔案的model,而m則是...

thinkphp中的M方法和D方法

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

thinkphp的M 和D()方法的區別

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