d方法例項化:
d方法可以自動檢測模型類,如果存在自定義的模型類,則例項化自定義模型類,如果不存在,則會例項化系統的\think\model基類,同時對於已例項化過的模型,不會重複去例項化。
d方法還可以支援跨模組呼叫,需要使用:
//例項化admin模組的user模型
d('admin/user');
//例項化extend擴充套件命名空間下的infor模型
d('extend://editor/info');
m方法例項化:
d方法例項化模型類的時候通常是例項化某個具體的模型類,如果你僅僅是對資料表進行基本的curd操作的話,使用m方法例項化的話,由於不需要載入具體的模型類,所以效能會更高。l例如:
// 使用m方法例項化
$user = m('user');
// 和用法 $user = new \think\model('user'); 等效
// 執行其他的資料操作
$user->select();
m方法也可以支援跨庫操作,例如:
// 使用m方法例項化 操作db_name資料庫的ot_user表
$user = m('db_name.user','ot_');
// 執行其他的資料操作
$user->select();
m方法例項化的時候,預設情況下是直接例項化系統的\think\model類,如果我們希望例項化其他的公共模型類的話,可以使用如下方法:
$user = m('\home\model\commonmodel:user','think_','db_config');
// 相當於 $user = new \home\model\commonmodel('user','think_','db_config');
如果你僅僅是使用原生sql查詢的話,不需要使用額外的模型類,例項化乙個空模型類即可進行操作了,例如:
//例項化空模型
$model = new model();
//或者使用m快捷方法是等效的
$model = m();
//進行原生的sql查詢
$model->query('select * from think_user where status = 1');
我們在例項化的過程中,經常使用d方法和m方法,這兩個方法的區別在於m方法例項化模型無需使用者為每個資料表定義模型類,如果d方法沒有找到定義的模型類,則會自動呼叫m方法。
JavaEE Bean例項化 例項工廠例項化
還有一種例項化bean的方式是採用是例項工廠,此種方式的工廠類中不再使用靜態方法建立bean例項,而是採用直接建立bean例項的方式,同時在配置檔案中,需要例項化的bean也並不是通過ckass屬性直接指向的例項化類,而是通過factory bean屬性指向配置的例項化工廠,然後使用factory ...
Python,datetime模組例項
python的標準模組datetime模組,在我們的工作中應用非常頻繁,下面對datetime中常用的方法進行了總結和測試 對每乙個方法都使用了單元測試框架unittest來配合測試。主要的型別有 首先要匯入datetime模組 from datetime import datetime,timed...
JavaEE Bean的例項化 構造器例項化
在物件導向的程式中,想要使用某個物件就需要先例項化這個物件,同樣在spring中,要想使用容器中的bean,也需要例項化bean。今天主要學習使用構造器例項化 構造器例項華是指spring容器通過bean對應類中預設的構造方法來例項化bean。下面通過乙個案例來演示spring容器是如何通過構造器來...