在thinkphp中,m方法的回傳值是一個Model物件;m方法可以理解為「$m=new Model("user")」的縮寫,呼叫格式為「M('[基礎模型名:]模型名稱','資料表前綴','資料庫連接資訊')”,作用就是實例化一個基礎模型類別。
本文操作環境:Windows10系統、ThinkPHP5版、Dell G3電腦。
M方法可以認為是$m=new Model("user")的縮寫,也就是M()傳回的是一個Model物件
M方法用於實例化一個基礎模型類,
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操作的話,只是個別模型有一些複雜的業務邏輯需要封裝,那麼第一種方式和第二種方式的結合就是一個不錯的選擇。
推薦學習:《PHP影片教學》
以上是thinkphp中m方法回傳值是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!