!1、例項化乙個
model
$array = explode('.', $name);
$name = array_pop($array); // 對於類似aaa.bbb.ccc結構檔名的model類,只取到第一節
2、例項化乙個沒有模型檔案的model
function m($name='', $class='model')
3、model類建構函式
public function __construct($name='',$connection='') elseif(empty($this->name))
// 資料庫初始化操作
// 獲取資料庫操作物件
// 當前模型有獨立的資料庫連線資訊
$this->db(0,empty($this->connection)?$connection:$this->connection);
// 設定表字首
$this->tableprefix = $this->tableprefix?$this->tableprefix:c('db_prefix');
$this->tablesuffix = $this->tablesuffix?$this->tablesuffix:c('db_suffix');
// 字段檢測
if(!empty($this->name) && $this->autocheckfields) $this->_checktableinfo();
}總結:
避免重複載入乙個模型,即,為了對同乙個模型只例項化一次,兩種方法中都使用了靜態陣列變數做例項化記錄。
d方法的返回結果有三種:name為空則返回空模型例項;已經例項化就返回例項;載入相應模型檔案並返回例項。其中載入模型返回例項的具體操作分為兩步:第一步,根據引數確認模型檔案目錄並載入模型檔案。第二步,判斷類是否已經存在,即是否載入成功,也就是說模型檔案是否存在規定目錄,然後使用載入模型檔案或模型基類例項化模型,最後返回例項。
m方法就是返回乙個已經存在的例項或者返回乙個新的(model或者其他模型類)例項。
模型例項化 thinkphp
當定義了模型之後,需要在操作中將模型例項化才能具體實現模型中的業務邏輯。不同的資料業務規則會有不同的模型定義,而在例項化模型的時候也可能不同。thinkphp 支援如下幾種例項化模型 例項化基礎模型類 例項化其他模型類 例項化使用者自定義模型類 例項化空模型類 thinkphp支援在沒有定義任何模型...
ThinkPHP 例項化模型
1.例項化基本模型 user new model s 引數為 表名,表字首,資料庫連線資訊 後2個已經在config.php中設定 user m s m方法 效果和new model相同 引數相同 data user select dump data 2.例項化使用者自定義模型 user new a...
Thinkphp模型的例項化
thinkphp模型的例項化 是我們在使用thinkphp開發的過程中經常會使用到的,像在需要使用資料表的時候,我們就要經常進行例項化。我們來看乙個模型例項化的例子 user new model user 在thinkphp為我們封裝好了乙個方法m來更加方便的來進行模型的例項化,例如上面的可以寫成 ...