天天看點

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