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);
}