快消品貨源批發(fā)市場
快消品貨源分銷平臺
 
 
當(dāng)前位置: 貨源批發(fā)網(wǎng) » 網(wǎng)商學(xué)院 » 獨(dú)立商城 » ThinkPHP中實(shí)例化對象M()和D()的區(qū)別

ThinkPHP中實(shí)例化對象M()和D()的區(qū)別

放大字體  縮小字體 發(fā)布日期:2024-08-26 07:12:49  來源:電商聯(lián)盟  作者:樂發(fā)網(wǎng)  瀏覽次數(shù):8

ThinkPHP中實(shí)例化對象M()和D()的區(qū)別

在實(shí)例化的過程中,經(jīng)常使用D方法和M方法,這兩個(gè)方法的區(qū)別在于M方法實(shí)例化模型無需用戶為每個(gè)數(shù)據(jù)表定義模型類,如果D方法沒有找到定義的模型類,則會(huì)自動(dòng)調(diào)用M方法。
通俗一點(diǎn)說:
M實(shí)例化參數(shù)是數(shù)據(jù)庫的表名。
D實(shí)例化的是你自己在Model文件夾下面建立的模型文件

例如:$user = new UserModel();
等價(jià)于$user = D('user');
如果實(shí)例化的是一個(gè)空模型
例如 $Demo = new Model();
那么它等價(jià)于 $Demo = M();

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

我們可以用下面兩種方法去創(chuàng)建一個(gè)數(shù)據(jù)表的映射對象
第一種:$Test = D('Test')
第二種:$Test = new Model('Test')
雖然這兩種都可以對數(shù)據(jù)進(jìn)行select,insert,delete,udpate操作,在
數(shù)據(jù)驗(yàn)證上有很大的不同,用第一種方式實(shí)例一個(gè)模型就會(huì)有數(shù)據(jù)檢查功能,如果 title 沒有填寫的話就會(huì)提示 “請輸入標(biāo)題” (這個(gè)是tp提供的一個(gè)自動(dòng)驗(yàn)證功能,當(dāng)然也需要在相應(yīng)的model中定義好驗(yàn)證條件);

如果用第二種就沒有了·····

還有1個(gè)區(qū)別就是當(dāng)用了$trueTableName后,必須用$test=d('test'),表示查詢的是test表,

如果用的是$test=m('test'),那么都表示查詢的數(shù)據(jù)邊是think_test。

thinkphp2.0版本測試有如此上面的問題,D就是實(shí)例化一個(gè)基于Model文件的Model。M則是通過直接實(shí)例化Model方法(ThinkPHP基類)來動(dòng)態(tài)的實(shí)例化一個(gè)Model對象,即使這個(gè)對應(yīng)的Model文件不存在。

樂發(fā)網(wǎng)超市批發(fā)網(wǎng)提供超市貨源信息,超市采購進(jìn)貨渠道。超市進(jìn)貨網(wǎng)提供成都食品批發(fā),日用百貨批發(fā)信息、微信淘寶網(wǎng)店超市采購信息和超市加盟信息.打造國內(nèi)超市采購商與批發(fā)市場供應(yīng)廠商搭建網(wǎng)上批發(fā)市場平臺,是全國批發(fā)市場行業(yè)中電子商務(wù)權(quán)威性網(wǎng)站。

本文內(nèi)容整合網(wǎng)站:百度百科、知乎、淘寶平臺規(guī)則

本文來源: ThinkPHP中實(shí)例化對象M()和D()的區(qū)別

分享與收藏:  網(wǎng)商學(xué)院搜索  告訴好友  關(guān)閉窗口  打印本文 本文關(guān)鍵字:
 
更多..資源下載
獨(dú)立商城圖文
獨(dú)立商城網(wǎng)商學(xué)院推薦
獨(dú)立商城點(diǎn)擊排行
 
手機(jī)版 手機(jī)掃描訪問
亚洲一级av,黑白配精品在线视频,欧美亚洲综合网站,高清在线无码不卡69 www.sucaiwu.net