麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > ThinkPHP > 正文

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

2024-09-09 15:19:38
字體:
來源:轉載
供稿:網友

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

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是指你的模型文件名).

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产免费一级淫片 | 国产成人精品区一区二区不卡 | 一级大黄毛片 | 91网页视频入口在线观看 | 天天看天天摸天天操 | 亚洲人成中文字幕在线观看 | 婷婷久久青草热一区二区 | 国产一国产精品一级毛片 | 精品三级内地国产在线观看 | 美女视频黄视大全视频免费网址 | 亚洲国产精品久久久久婷婷老年 | 黄色免费在线视频网站 | 日日操日日操 | 国产一级毛片在线看 | 国产精品成人亚洲一区二区 | av电影直播 | 国产亚洲精品久久久久久久久久 | 亚洲成人在线免费 | 7m视频成人精品分类 | 黄色毛片一级视频 | 欧美成人综合视频 | 天堂在线资源av | 日韩欧美高清片 | 91精品国产综合久久久动漫日韩 | 成人福利视频在线 | 最近中文字幕一区二区 | 欧美一级高潮 | 亚洲一区成人 | 一区在线视频观看 | 欧美亚洲国产一区二区三区 | 久久久久亚洲国产精品 | 欧美毛片 | xxnxx中国18| 伊人yinren22综合网色 | 免费毛片在线视频 | 线观看免费完整aaa 欧美在线一级 | 亚洲精久久 | 欧美成人一区二区三区 | 欧美精品videos | 欧美精品一区自拍a毛片在线视频 | 亚洲综合一区在线观看 |