thinkphp3.2多个库链接

ThinkPHP3.* / 516人浏览 / 0人评论

如果使用thinkphp3.2开发需要链接多个库,我们在配置文件中配置如下。

thinkphp3.2

如果使用thinkphp3.2开发需要链接多个库,我们在配置文件中配置如下。

<?php
/**
 * 系统配文件
 */
return array(
    /* 默认数据库配置 */
    'DB_TYPE'   => 'mysql', // 数据库类型
    'DB_HOST'   => '127.0.0.1', // 服务器地址
    'DB_NAME'   => 'onethink', // 数据库名
    'DB_USER'   => 'root', // 用户名
    'DB_PWD'    => 'root',  // 密码
    'DB_PORT'   => '3306', // 端口
    'DB_PREFIX' => 'onethink_', // 数据库表前缀
    
    // 自定义第二个数据库
    'DB_COURSE' => array(
        'DB_TYPE'   => 'mysql', // 数据库类型
        'DB_HOST'   => '127.0.0.1', // 服务器地址
        'DB_NAME'   => 'test_db', // 数据库名
        'DB_USER'   => 'root', // 用户名
        'DB_PWD'    => 'root',  // 密码
        'DB_PORT'   => '3306', // 端口
    ),
    // 自定义也可以采用字符串方式定义,定义格式为:
    // 数据库类型://用户名:密码@数据库地址:数据库端口/数据库名#字符集
    // 'DB_COURSE' => 'mysql://root:root@127.0.0.1:3306/test_db#utf8',    
);

使用M方法链接库表进行表操作

$lists = M('course','std_','DB_COURSE')->limit(100)->select();

附上thinkphp3.2 M方法

/**
 * M函数用于实例化一个没有模型文件的Model
 * @param string $name Model名称 支持指定基础模型 例如 MongoModel:User
 * @param string $tablePrefix 表前缀
 * @param mixed $connection 数据库连接信息
 * @return Model
 */
function M($name='', $tablePrefix='',$connection='') {
    static $_model  = array();
    if(strpos($name,':')) {
        list($class,$name)    =  explode(':',$name);
    }else{
        $class = 'Think\\Model';
    }
    $guid = (is_array($connection)?implode('',$connection):$connection).$tablePrefix . $name . '_' . $class;
    if (!isset($_model[$guid]))
        $_model[$guid] = new $class($name,$tablePrefix,$connection);
    return $_model[$guid];
}

转载注明:

扩展查找

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我