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

首頁 > 開發 > ThinkPHP > 正文

Thinkphp實例化對象的四種方法比較

2024-09-09 15:20:26
字體:
來源:轉載
供稿:網友

在Thinkphp有四種不同的方法實例化對象,new方法、D方法、M方法、空模型方法,比較常用的是D方法和M方法。本文大都是官方手冊東西,自己稍微做了下總結。

New方法

new方法是最好理解的一種方法,就是普通的實例化類,參數可選,依次是表名、表前綴、數據庫連接信息,大多數情況下不需要傳參。

new /Home/Model/NewModel('new','think_','DB_CONFIG');

D方法

D方法Thingkphp(下面簡稱TP)系統提供的一個實例化類的快捷方法,通過D方法我們可以快速的實例化一個類并使用。

  1. //實例化模型 
  2. $User = D('User'); 
  3. // 相當于  
  4. $User = new /Home/Model/UserModel(); 
  5. // 執行具體的數據操作 
  6. $User->select(); 
  7. 當 /Home/Model/UserModel 類不存在的時候,D函數會嘗試實例化公共模塊下面的 /Common/Model/UserModel 類,如果還不存在的話則會實例化系統的/Think/Model基類,這是一點值得注意的地方。 

M方法:

D方法實例化模型類的時候通常是實例化某個具體的模型類,如果你僅僅是對數據表進行基本的CURD操作的話,使用M方法實例化的話,由于不需要加載具體的模型類,所以性能會更高。

  1. // 使用M方法實例化 
  2. $User = M('User'); 
  3. // 和下面用法等效 
  4. $User = new /Think/Model('User');  
  5. // 執行其他的數據操作$User->select(); 

如果你的模型類有自己的業務邏輯,M方法是無法支持的,就算是你已經定義了具體的模型類,M方法實例化的時候是會直接忽略。

實例化空模型類

如果你僅僅是使用原生SQL查詢的話,不需要使用額外的模型類,實例化一個空模型類即可進行操作了

  1. //實例化空模型 
  2. $Model = new Model(); 
  3. //或者使用M快捷方法是等效的 
  4. $Model = M(); 
  5. //進行原生的SQL查詢 
  6. $Model->query('SELECT * FROM think_user WHERE status = 1'); 

總結:我們在實例化的過程中,經常使用D方法和M方法,這兩個方法的區別在于M方法實例化模型無需用戶為每個數據表定義模型類,如果D方法沒有找到定義的模型類,則會自動調用M方法,M方法會直接忽略自定義的具體模型類。

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

圖片精選

主站蜘蛛池模板: 精品一区二区免费 | 欧美一级免费看 | 成人福利视频在 | 一边吃奶一边摸下娇喘 | 九九视频精品在线观看 | 久久成人免费网站 | 日本a级一区 | 激情在线视频 | 精品国产一区二区久久 | 2018亚洲男人天堂 | 中文字幕精品在线观看 | 91精品国产成人 | 国产一区视频观看 | 黄色特级毛片 | 欧产日产国产精品乱噜噜 | 国产18视频 | 国产一区二区三区在线免费观看 | 欧美黄色看| av在线免费观看不卡 | 黄色a级片免费观看 | 日本韩国欧美一级片 | 日韩av在线网| 欧美一级性 | 激情福利视频 | 中文字幕精品一区久久久久 | 色999久久久精品人人澡69 | 久久国产精品小视频 | 国产精品视频一区二区噜噜 | 久久在线精品视频 | 成人富二代短视频 | 欧美人与牲禽动交精品一区 | 性猛交ⅹxxx乱巴西 欧美日韩1区2区3区 | 免费毛片观看 | 牛牛a级毛片在线播放 | 特级无码毛片免费视频尤物 | 蜜桃视频在线观看视频 | 日本精品一区二区 | 黑人操穴 | 一本到免费视频 | 国产精品爆操 | 欧美a区|