学无先后,达者为师

网站首页 PHP其他 正文

ThinkPHP框架的.env读取原理

作者:狂野小青年 更新时间: 2022-05-12 PHP其他

ThinkPHP框架的.env读取原理 


 $val) {
                $name = ENV_PREFIX . strtoupper($key);

                if (is_array($val)) {
                    foreach ($val as $k => $v) {
                        $item = $name . '_' . strtoupper($k);
                        putenv("$item=$v");
                    }
                } else {
                    putenv("$name=$val");
                }
            }
        }
    }
}

最佳实践:

配置文件中调用此类来获取设置,不建议在业务代码中直接调用 

.env 文件

[app]
debug = true

[database]
type = mysql
hostname = 127.0.0.1
username =  root
password = 123456
port = 3306
database = taobao

配置文件调用:

return [
    // 数据库类型
    'type'           => Env::get('database.type','mysql'),
    // 服务器地址
    'hostname'       => Env::get('database.hostname','127.0.0.1'),
    // 数据库名
    'database'       => Env::get('database.database','taobao'),
    // 用户名
    'username'       => Env::get('database.username','root'),
    // 密码
    'password'       => Env::get('database.password',''),
    // 端口
    'hostport'       => Env::get('database.port','3306'),
    // 连接dsn
    'dsn'            => '',
    // 数据库连接参数
    'params'         => [
        'MYSQL_ATTR_USE_BUFFERED_QUERY' => true,
    ]
];

原文链接:https://wanzhou.blog.csdn.net/article/details/124416633

栏目分类
最近更新