php提交多个数据库,thinkphp5如何优雅的配置多个数据库?

最近在用tp5写项目,有一个业务上的需求,需要连接两个数据库。这就需要在tp5中配置两个数据库了。

该怎么配置多个数据库呢?

查看开发手册。这当然是一句废话,快速开发的第一要素就是查看手册。手册有提供了丰富多数据配置的方法,参考链接在文章结尾处,不多此一举雷述了。

但手册的方法会发现多个数据配置方式过于混乱,显得不够优雅。有一个专门配置数据库的文件database.php文件,但这个文件只能配置一个数据库信息,其他的数据库却要写在config.php这个应用配置文件上,这就有点乱了,并且config.php操作更改的频率是比较大,而数据库配置之后一般都不会改动,直接将数据库信息配置在config.php上不是一个明智之举。

那么该怎么配置,会显得好管理些呢?

重新起一个数据库配置文件,命名database2.php,然后再config.php读这个文件。这样数据库配置信息就不用直接塞到config.php中,对数据配置信息相对独立,避免对数据库信息误操作。

看项目配置截图:

5dd734038fee5883585eb3b94aebae55.png

比起直接在一堆数据库配置写到config.php是不是优雅很多了,逻辑上也清晰很多。

举一反三

从上述方法我们完全可以根据逻辑或者业务的需求来自定义配置文件,从而实现对配置文件有一个更好管理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThinkPHP5的database.php配置文件中,可以配置多个数据库连接。具体实现方式如下: 1. 在config目录下创建一个database.php文件,用于存储数据库连接信息。 2. 在database.php文件中使用return返回一个数组,数组中包含多个数据库连接信息。 示例代码如下: ```php <?php return [ // 默认数据库连接信息 'default' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'test', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', ], // 第二个数据库连接信息 'db2' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'test2', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', ], ]; ``` 3. 在数据库操作时,可以指定使用哪个数据库连接。例如: ```php <?php // 使用默认数据库连接 Db::name('user')->where('status',1)->select(); // 使用db2数据库连接 Db::connect('db2')->name('user')->where('status',1)->select(); ``` 以上就是在ThinkPHP5中配置多个数据库连接的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值