天天看点

thinkphp中实例化其他数据库方法集成

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