日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

ThinkPHP函数详解:M方法

發布時間:2025/5/22 php 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ThinkPHP函数详解:M方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

M方法用于實例化一個基礎模型類,和D方法的區別在于:
1、不需要自定義模型類,減少IO加載,性能較好;
2、實例化后只能調用基礎模型類(默認是Model類)中的方法;
3、可以在實例化的時候指定表前綴、數據庫和數據庫的連接信息;
D方法的強大則體現在你封裝的自定義模型類有多強,不過隨著新版ThinkPHP框架的基礎模型類的功能越來越強大,M方法也比D方法越來越實用了。
M方法的調用格式:
M('[基礎模型名:]模型名','數據表前綴','數據庫連接信息')
我們來看下M方法具體有哪些用法:
1、實例化基礎模型(Model) 類

在沒有定義任何模型的時候,我們可以使用下面的方法實例化一個模型類來進行操作:

//實例化User模型 $User = M('User'); //執行其他的數據操作 $User->select();

復制代碼

這種方法最簡單高效,因為不需要定義任何的模型類,所以支持跨項目調用。缺點也是因為沒有自定義的模型類,因此無法寫入相關的業務邏輯,只能完成基本的CURD操作。 $User = M('User');

復制代碼

其實等效于: $User = new Model('User');

復制代碼

表示操作think_user表。M方法和D方法一樣也有單例功能,多次調用并不會重復實例化。M方法的模型名參數在轉換成數據表的時候會自動轉換成小寫,也就是說ThinkPHP的數據表命名規范是全小寫的格式。

2、實例化其他公共模型類

第一種方式實例化因為沒有模型類的定義,因此很難封裝一些額外的邏輯方法,不過大多數情況下,也許只是需要擴展一些通用的邏輯,那么就可以嘗試下面一種方法。

$User = M('CommonModel:User');

復制代碼

改用法其實等效于: $User = new CommonModel('User');

復制代碼

因為系統的模型類都能夠自動加載,因此我們不需要在實例化之前手動進行類庫導入操作。模型類CommonModel必須繼承Model。我們可以在CommonModel類里面定義一些通用的邏輯方法,就可以省去為每個數據表定義具體的模型類,如果你的項目已經有超過100個數據表了,而大多數情況都是一些基本的CURD操作的話,只是個別模型有一些復雜的業務邏輯需要封裝,那么第一種方式和第二種方式的結合是一個不錯的選擇。

3、傳入表前綴、數據庫和其他信息

M方法有三個參數,第一個參數是模型名稱(可以包括基礎模型類和數據庫),第二個參數用于設置數據表的前綴(留空則取當前項目配置的表前綴),第三個參數用于設置當前使用的數據庫連接信息(留空則取當前項目配置的數據庫連接信息),例如:

$User = M('db2.User','think_');

復制代碼

表示實例化Model模型類,并操作db2數據庫中的think_user表。
如果第二個參數留空或者不傳,表示使用當前項目配置中的數據表前綴,如果操作的數據表沒有表前綴,那么可以使用: $User = M('db1.User',null);

復制代碼

表示實例化Model模型類,并操作db1數據庫中的user表。
如果你操作的數據庫需要不同的用戶賬號,可以傳入數據庫的連接信息,例如: $User = M('User','think_','mysql://user_a:1234@localhost:3306/thinkphp');

復制代碼

表示基礎模型類用Model,然后對think_user表進行操作,用user_a賬號進行數據庫連接,操作數據庫是thinkphp。
第三個連接信息參數可以使用DSN配置或者數組配置,甚至可以支持配置參數。
例如,在項目配置文件中配置了: 'DB_CONFIG'=>'mysql://user_a:1234@localhost:3306/thinkphp';

復制代碼

則可以使用: $User = M('User','think_','DB_CONFIG');

復制代碼

基礎模型類和數據庫可以一起使用,例如:

$User = M('CommonModel:db2.User','think_');

復制代碼

如果要實例化分層模型的話,利用公共模型類的方式,我們可以使用: M('UserLogic:User');

復制代碼

來實例化UserLogic,雖然這樣做的意義不大,因為可以用 D('User','Logic');

復制代碼

實現同樣的功能。

轉載于:https://www.cnblogs.com/zhengyanbin2016/p/5427363.html

總結

以上是生活随笔為你收集整理的ThinkPHP函数详解:M方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 极度诱惑香港电影完整 | 国产在线黄色 | 亚洲男同视频 | 少妇15p | 黄色网页免费在线观看 | 日本老妇高潮乱hd | 国产农村妇女精品 | 国产精品无码专区av在线播放 | 国产网站在线看 | 欧美激情电影一区二区 | 国产激情视频一区二区 | 欧美三级视频 | 天堂999| 中国黄色一级毛片 | 欧美日韩中文在线观看 | 爱久久| av网站免费观看 | 香蕉视频91 | 向日葵视频在线播放 | 国产精品三 | 一曲二曲三曲在线观看中文字幕动漫 | 被黑人猛躁10次高潮视频 | 草色网 | 91精品毛片 | 日本专区在线 | 成人国产片| 轮番上阵免费观看在线电影 | 国产精品xxx | 日韩福利电影在线 | 久久夜色精品国产噜噜亚洲av | 无码成人精品区一级毛片 | 9191av | 在线资源av| 波多野结衣绝顶大高潮 | 日韩国产成人无码av毛片 | 色秀av| 三级视频网站 | 色播在线视频 | 动漫av在线免费观看 | 久久综合网址 | 91毛片在线观看 | 巨骚综合 | 我们2018在线观看免费版高清 | 法国性xxxx精品hd | 爽爽爽av| 久久99热人妻偷产国产 | 国产婷婷色一区二区三区在线 | 国产日产欧美 | 福利国产在线 | 美女久久 | 欧美日韩经典 | 高清成人 | 五月开心激情 | 大奶骚 | 欧美一区亚洲一区 | 欧美成人三级视频 | 少妇一区二区视频 | 亚洲精品一区二区在线 | 深夜福利网址 | 青青草国产在线播放 | 在线观看成人网 | 在线麻豆| 日本一本在线 | 熟女人妻视频 | 色欧美综合| 日本美女裸体视频 | 久久中文字幕无码 | 香蕉视频成人在线 | 精品福利片 | 一区二区三区www | 国产精品久久久久久网站 | 国产精品自拍片 | 99re最新网址| 91免费视 | 少妇人妻互换不带套 | 四虎影视黄色 | 成人福利一区二区三区 | 香蕉视频网站在线 | 99av国产精品欲麻豆 | 国产在线视频一区二区 | 日本久久综合 | 国产精品2019| 亚洲制服丝袜一区 | 久久久久久国产精品免费播放 | 穿情趣内衣被c到高潮视频 欧美性猛交xxxx黑人猛交 | 最新日韩在线视频 | 日本高清有码 | 男人插女人视频网站 | 一女被多男玩喷潮视频 | 欧美亚洲在线视频 | 亚洲国产成人91精品 | 91丨porny丨在线中文 | 午夜男人天堂 | 亚洲欧美中文字幕 | 色哟哟免费视频 | 午夜影院在线观看 | 91视频影院 | 国产做受网站 | 欧洲一区二区在线观看 |