国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

Thinkphp框架中D方法與M方法的區別

2024-05-04 23:53:53
字體:
來源:轉載
供稿:網友

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

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就是實例化一個基于Model文件的Model。

M則是通過直接實例化Model方法(ThinkPHP基類)來動態的實例化一個Model對象,即使這個對應的Model文件不存在。

再通俗一點說:

M實例化參數是數據庫的表名。

D實例化的是你自己在Model文件夾下面建立的模型文件。

D就是在你沒有定義模型的時候,系統自動幫你定義一個模型,這樣你才進行簡單的數據輸入或者輸出。

每一個Action文件都應該對應Model文件的,如果你定義了Model的話,

如:$Form = D(“User”)就可以改成$Form = new  UserModel();(User是指你的模型文件名)。

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持VeVb武林網!


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 南乐县| 芜湖市| 洪泽县| 冷水江市| 临沂市| 墨竹工卡县| 凤山市| 洛川县| 晴隆县| 柞水县| 玛曲县| 姚安县| 封开县| 湘潭市| 凌海市| 高台县| 剑川县| 手游| 莱西市| 翁牛特旗| 台南市| 樟树市| 鲁甸县| 冀州市| 广昌县| 上高县| 富阳市| 绥宁县| 武川县| 金秀| 西青区| 东城区| 秦安县| 崇明县| 寿阳县| 宜良县| 米泉市| 霍州市| 景德镇市| 莲花县| 肇东市|