thinkphp中執行個體化其他資料庫方法內建,通過重新封裝M方法,達到執行個體化不同伺服器上的資料庫,實作方法如下:
/**
* 執行個體化其他模型類
* @param string $name Model名稱 支援指定基礎模型
* @param string $config 資料庫配置,為空取預設
*/
function MQT($name = '',$config = '',$tablePrefix = ''){
$class = '';
if(strpos($name,':')){
list($class,$name) = explode(':',$name);
}
//适應PDO
if(!strpos($name,'.') && $config){
$name = $name?C($config.'.db_name').'.'.$name:'';
}
if($config){
$tablePrefix = $tablePrefix?$tablePrefix:C($config.'.db_prefix');
}
$name = ($class?$class.':':'').$name;
return M($name, $tablePrefix,$config);
}