百搜论坛欢迎您的加入!
adimg adimg
 
昨日:篇  今日:篇   总帖:篇   会员:
博主最大Lv63   
thinkphp5多数据库配置介绍     

ThinkPHP遵循惯例重于配置的原则,系统会按照下面的顺序来加载配置文件(配置的优先顺序从右到左)。

惯例配置->应用配置->模块配置->动态配置

惯例配置:核心框架内置的配置文件,无需更改。

应用配置:每个应用的全局配置文件(框架安装后会生成初始的应用配置文件),有部分配置参数仅能在应用配置文件中设置。

模块配置:每个模块的配置文件(相同的配置参数会覆盖应用配置),有部分配置参数模块配置是无效的,因为已经使用过。

动态配置:主要是指在控制器或者行为中进行(动态)更改配置,该配置方式只在当次请求有效,因为不会保存到配置文件中。

TP5.1的数据库配置文件在application\config\database.php中

当然,在application\模块名\config\database.php(模块配置)中的配置,优先级会比在application\config\database.php(应用配置)中高

比如同时在模块配置和在应用配置中配置数据库连接,那么会优先使用模块配置,如果模块配置中没有,那么会去找应用配置中的配置信息。动态配置的优先级最高。

我们只需要在控制器和数据库配置文件中操作即可,无需用到模型

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

<?php

// +----------------------------------------------------------------------

// | ThinkPHP [ WE CAN DO IT JUST THINK ]

// +----------------------------------------------------------------------

// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.

// +----------------------------------------------------------------------

// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )

// +----------------------------------------------------------------------

// | Author: liu21st <liu21st@gmail.com>

// +----------------------------------------------------------------------

  

return [

    // 数据库类型

    'type'            => 'mysql',

    // 服务器地址

    'hostname'        => '127.0.0.1',

    // 数据库名

    'database'        => '',

    // 用户名

    'username'        => 'root',

    // 密码

    'password'        => '',

    // 端口

    'hostport'        => '',

    // 连接dsn

    'dsn'             => '',

    // 数据库连接参数

    'params'          => [],

    // 数据库编码默认采用utf8

    'charset'         => 'utf8',

    // 数据库表前缀

    'prefix'          => '',

    // 数据库调试模式

    'debug'           => true,

    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)

    'deploy'          => 0,

    // 数据库读写是否分离 主从式有效

    'rw_separate'     => false,

    // 读写分离后 主服务器数量

    'master_num'      => 1,

    // 指定从服务器序号

    'slave_no'        => '',

    // 自动读取主库数据

    'read_master'     => false,

    // 是否严格检查字段是否存在

    'fields_strict'   => true,

    // 数据集返回类型

    'resultset_type'  => 'array',

    // 自动写入时间戳字段

    'auto_timestamp'  => false,

    // 时间字段取出后的默认时间格式

    'datetime_format' => 'Y-m-d H:i:s',

    // 是否需要进行SQL性能分析

    'sql_explain'     => false,

    // Builder类

    'builder'         => '',

    // Query类

    'query'           => '\\think\\db\\Query',

    // 是否需要断线重连

    'break_reconnect' => false,

    // 断线标识字符串

    'break_match_str' => [],

    'db_config1'      => [

        // 数据库类型

        'type'            => 'sqlsrv',

        // 服务器地址

        'hostname'        => '192.168.1.1',

        // 用户名

        'username'        => 'username',

        // 密码

        'password'        => 'passwd',

        // 数据库名称

        'database'        => 'dbname',

    ],

    'db_config2'      => [

        // 数据库类型

        'type'            => 'mysql',

        // 服务器地址

        'hostname'        => '192.168.1.2',

        // 用户名

        'username'        => 'username',

        // 密码

        'password'        => 'passwd',

        // 数据库名称

        'database'        => 'dbname',

    ]

];

db_config1和db_config2可以看作是两个不同的数据库连接

我们在控制器中就可以这样调用不同的数据库

1

2

3

4

5

6

7

8

9

10

11

<?php

use think\Db;

$verify1 = Db::connect('db_config1')->table('tablename')->where([

   ['username','=',$username],

   ['password','=',$password],

])->find();

  

$verify2 = Db::connect('db_config2')->table('tablename')->where([

   ['username','=',$username],

   ['password','=',$password],

])->find();

推荐教程:《TP5

以上就是thinkphp5多数据库配置介绍的详细内容

 0  已被阅读了944次  楼主 2020-06-23 10:26:30
回复列表

回复:thinkphp5多数据库配置介绍

联系站长 友链申请桂ICP备19000949号-1     桂ICP备19000949号-1
您的IP:3.21.231.245,2024-05-03 08:41:44,Processed in 0.02695 second(s).
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
Powered by HadSky 7.12.9
已有0次打赏
(0) 分享
分享
取消
免责声明
1、本站资源,均来自网络,版权归原作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !
如果觉得本文还不错请点个赞或者打赏点轻币哦~
拒绝伸手党,拿走请回复,尊重楼主,尊重你我他~

侵权删除请致信 E-Mail:207882320@qq.com