真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

phptp框架中m怎么用

這篇文章主要介紹了php tp框架中m怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

“專業(yè)、務實、高效、創(chuàng)新、把客戶的事當成自己的事”是我們每一個人一直以來堅持追求的企業(yè)文化。 創(chuàng)新互聯(lián)是您可以信賴的網(wǎng)站建設服務商、專業(yè)的互聯(lián)網(wǎng)服務提供商! 專注于成都網(wǎng)站建設、網(wǎng)站設計、軟件開發(fā)、設計服務業(yè)務。我們始終堅持以客戶需求為導向,結(jié)合用戶體驗與視覺傳達,提供有針對性的項目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領市場!

php tp框架中的m方法用于實例化一個基礎模型類,其用法有:1、實例化基礎模型(Model)類;2、實例化其他公共模型類;3、傳入表前綴,數(shù)據(jù)庫和其他信息。

本文操作環(huán)境:Windows7系統(tǒng)、thinkphp v5.1版、DELL G3電腦

ThinkPHP函數(shù)詳解:M方法  

M方法用于實例化一個基礎模型類,和D方法的區(qū)別在于:

1、不需要自定義模型類,減少IO加載,性能較好;

2、實例化后只能調(diào)用基礎模型類(默認是Model類)中的方法;

3、可以在實例化的時候指定表前綴、數(shù)據(jù)庫和數(shù)據(jù)庫的連接信息;

D方法的強大則體現(xiàn)在你封裝的自定義模型類有多強,不過隨著新版ThinkPHP框架的基礎模型類的功能越來越強大,M方法也比D方法越來越實用了。

M方法的調(diào)用格式:

M('[基礎模型名:]模型名','數(shù)據(jù)表前綴','數(shù)據(jù)庫連接信息')

我們來看下M方法具體有哪些用法:

1、實例化基礎模型(Model) 類

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

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

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

$User = M('User');

其實等效于:

$User = new Model('User');

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

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

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

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

改用法其實等效于:

$User = new CommonModel('User');

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

3、傳入表前綴、數(shù)據(jù)庫和其他信息

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

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

表示實例化Model模型類,并操作db2數(shù)據(jù)庫中的think_user表。

如果第二個參數(shù)留空或者不傳,表示使用當前項目配置中的數(shù)據(jù)表前綴,如果操作的數(shù)據(jù)表沒有表前綴,那么可以使用:

$User = M('db1.User',null);

表示實例化Model模型類,并操作db1數(shù)據(jù)庫中的user表。

如果你操作的數(shù)據(jù)庫需要不同的用戶賬號,可以傳入數(shù)據(jù)庫的連接信息,例如:

$User = M('User','think_','MySQL://user_a:1234@localhost:3306/thinkphp');

表示基礎模型類用Model,然后對think_user表進行操作,用user_a賬號進行數(shù)據(jù)庫連接,操作數(shù)據(jù)庫是thinkphp。

第三個連接信息參數(shù)可以使用DSN配置或者數(shù)組配置,甚至可以支持配置參數(shù)。

例如,在項目配置文件中配置了:

'DB_CONFIG'=>'mysql://user_a:1234@localhost:3306/thinkphp';

則可以使用:

$User = M('User','think_','DB_CONFIG');

基礎模型類和數(shù)據(jù)庫可以一起使用,例如:

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

如果要實例化分層模型的話,利用公共模型類的方式,我們可以使用:

M('UserLogic:User');

來實例化UserLogic,雖然這樣做的意義不大,因為可以用

D('User','Logic');

實現(xiàn)同樣的功能。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“php tp框架中m怎么用”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!


網(wǎng)站標題:phptp框架中m怎么用
鏈接分享:http://weahome.cn/article/jspcij.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部