首頁  >  文章  >  php框架  >  Thinkphp中D方法與M方法的差別

Thinkphp中D方法與M方法的差別

步履不停
步履不停原創
2019-07-01 11:43:143071瀏覽

Thinkphp中D方法與M方法的差別

兩者共同點都是實例化模型的,而兩者不同點呢?一起來看看:

$User = D('User');括號中的參數User,對應的模型類別檔案的\Home\Model\UserModel.class.php(我們假設目前模組為Home ),如果參數是'UserType',那麼對應的模型類別檔案的\Home\Model\UserTypeModel.class.php,也就是說D方法的參數就是模型的名稱,並且和模型類別的大小寫定義是一致的。

$User = M('User'); 是和$User = new \Think\Model('User'); 等效的;也就是說,M方法實例化的時候,預設情況下是直接實例化系統的\Think\Model類,如果我們希望實例化其他的公共模型類的話,可以使用以下方法:$User = M('\Home\CommenModel:User','think_','db_config' );(我們假設表前綴為think_)。

我們在實例化的過程中,經常使用D方法和M方法,這兩個方法的區別在於M方法實例化模型無需用戶為每個資料表定義模型類,如果D方法沒有找到定義的模型類,則會自動呼叫M方法。

另外,想要使用ThinkPHP中的自動驗證,自動完成功能,就需要使用D方法。

其實說穿了,M方法實例化時候的參數就是你資料庫的表名,而D方法實例化的是你在Model資料夾下寫的Model類,當然想要自動驗證,自動完成,使用D方法。

更多ThinkPHP相關技術文章,請造訪ThinkPHP使用教學欄位進行學習!

以上是Thinkphp中D方法與M方法的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn