ThinkPHP6 动态连接数据库方法
情况说明:在ThinkPHP6中可以快速配置数据库连接,也可以通过database.php中指定多种数据库连接,但在实现使用中可能需要连接的数据库并不是固定的,可以通地动态配置的方式实现动态数据库连接方法,目前仅限于MySQL。
以下方法亲测可用。
//定义动态连接信息
$conparas = [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '',
// 数据库名
'database' => '',
// 用户名
'username' => '',
// 密码
'password' => '',
// 端口
'hostport' => '3306',
];
//获取现有的database配置参数
$database_config = Config::get('database');
//在database配置参数的【connections】下新建自定义的动态连接参数数组
$database_config['connections']['dynamic']= $conparas;
//设置database参数为 修改过的database配置参数
$config = Config::set($database_config, 'database');
//测试连接,connect内填入自定义的连接名称
$data = Db::connect('dynamic')->getTables();
print_r($data);