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

首頁(yè) > 開(kāi)發(fā) > ThinkPHP > 正文

在ThinkPHP 框架中快捷鍵M和D的不同之處

2024-09-09 15:19:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

ThinkPHP框架中快捷鍵M和D的不同之處在哪里呢?

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

D和M的區(qū)別主要在于M方法不需要?jiǎng)?chuàng)建模型類(lèi)文件,M方法不會(huì)讀取模型類(lèi),所以默認(rèn)情況下自動(dòng)驗(yàn)證是無(wú)效的,但是可以通過(guò)動(dòng)態(tài)賦值的方式實(shí)現(xiàn)而D方法必須有創(chuàng)建模型類(lèi)。

我們可以用下面兩種方法去創(chuàng)建一個(gè)數(shù)據(jù)表的映射對(duì)象

第一種:$Test = D(‘Test’)

第二種:$Test = new Model(‘Test’)

雖然這兩種都可以對(duì)數(shù)據(jù)進(jìn)行select,insert,delete,udpate操作,在數(shù)據(jù)驗(yàn)證上有很大的不同,用第一種方式實(shí)例一個(gè)模型就會(huì)有數(shù)據(jù)檢查功能,如果 title 沒(méi)有填寫(xiě)的話就會(huì)提示 “請(qǐng)輸入標(biāo)題” (這個(gè)是tp提供的一個(gè)自動(dòng)驗(yàn)證功能,當(dāng)然也需要在相應(yīng)的model中定義好驗(yàn)證條件);

如果用第二種就沒(méi)有了這個(gè)數(shù)據(jù)驗(yàn)證功能,需要手動(dòng)驗(yàn)證.

總結(jié)如下:

D函數(shù)實(shí)例化的是你當(dāng)前項(xiàng)目的Lib/Model下面的模塊,如果該模塊不存在的話,直接返回實(shí)例化Model的對(duì)象(意義就與M()函數(shù)相同).而M只返回,實(shí)例化Model的對(duì)象,它的$name參數(shù)作為數(shù)據(jù)庫(kù)的表名來(lái)處理對(duì)數(shù)據(jù)庫(kù)的操作.

通俗點(diǎn)說(shuō):

D就是實(shí)例化一個(gè)基于Model文件的Model。

M則是通過(guò)直接實(shí)例化Model方法(ThinkPHP基類(lèi))來(lái)動(dòng)態(tài)的實(shí)例化一個(gè)Model對(duì)象,即使這個(gè)對(duì)應(yīng)的Model文件不存在.

再通俗一點(diǎn)說(shuō):

M實(shí)例化參數(shù)是數(shù)據(jù)庫(kù)的表名。

D實(shí)例化的是你自己在Model文件夾下面建立的模型文件.

D就是在你沒(méi)有定義模型的時(shí)候,系統(tǒng)自動(dòng)幫你定義一個(gè)模型,這樣你才進(jìn)行簡(jiǎn)單的數(shù)據(jù)輸入或者輸出.

每一個(gè)Action文件都應(yīng)該對(duì)應(yīng)Model文件的,如果你定義了Model的話.

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

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 宁海县| 石棉县| 冀州市| 昌乐县| 仁化县| 潞西市| 简阳市| 略阳县| 岳西县| 开平市| 射阳县| 吉水县| 永和县| 开封市| 荥经县| 菏泽市| 鸡泽县| 堆龙德庆县| 滁州市| 清镇市| 彝良县| 白玉县| 怀远县| 江口县| 东乌| 石首市| 金平| 石林| 陈巴尔虎旗| 安塞县| 华阴市| 大竹县| 北碚区| 重庆市| 沈丘县| 汤原县| 桂阳县| 巴楚县| 马关县| 志丹县| 西安市|