本配置实践版本:V6.0.ORC1

查看项目使用thinkphp 版本方式如下

查看www.tp6.io项目使用tp版本

在项目 app/index/controller/Index.php 文件代码

<?php
namespace app\index\controller;
use think\facade\Db;
use think\facade\Env;

class Index
{
    public function index()
    {

       //env打印配置环境变量
       dump(Env::get('database_type'));
       dump(Env::get('database_type'));
       dump(Env::get('database_hostname'));
       dump(Env::get('database_database'));
       dump(Env::get('database_username'));
       dump(Env::get('database_password'));
       dump(Env::get('database_charset'));
       dump(Env::get('database_debug'));

    
       // 打印数据库信息
       dump(Db::query('SELECT * FROM `user`'));


    }


    public function hello($name = 'ThinkPHP6')
    {
        return 'hello,' . $name;
    }
}

项目根目录下面的.env文件内容

;开启跟踪器
app_trace = true

;数据库的配置项
database_type = 'mysql'
database_hostname = '127.0.0.1'
database_database = 'tp6'
database_username = 'root'
database_password = 'root'
database_charset = 'utf8'
database_debug = true

在项目 app/config/database.php 文件代码

<?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>
// +----------------------------------------------------------------------
use think\facade\Env;

return [
    // 数据库类型
    'type'            => Env::get('database_type'),
    // 服务器地址
    'hostname'        => Env::get('database_hostname'),
    // 数据库名
    'database'        => Env::get('database_database'),
    // 用户名
    'username'        => Env::get('database_username'),
    // 密码
    'password'        => Env::get('database_password'),
    // 端口
    'hostport'        => '',
    // 连接dsn
    'dsn'             => '',
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8
    'charset'         => Env::get('database_charset'),
    // 数据库表前缀
    'prefix'          => '',
    // 数据库调试模式
    'debug'           => Env::get('database_debug'),
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'          => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'     => false,
    // 读写分离后 主服务器数量
    'master_num'      => 1,
    // 指定从服务器序号
    'slave_no'        => '',
    // 是否严格检查字段是否存在
    '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' => [],
];

通过在env文件中配置数据库信息,并获取数据库信息打印效果图

总结,通过env环境变量配置数据库信息是一种发展趋势,掌握这种配置数据库信息方式 ,对了解其他框架也有帮助。

发表评论

邮箱地址不会被公开。