CodeIgniter 中好像没有像 Laravel/Lumen 又或是 ThinkPHP 中直接可以获取 .env 文件中配置项的方法,类似
env()
的方法.
(可能是我没仔细看文档吧,有知道的大神谢谢告诉我一下)
我们可以使用一个 composer 依赖解决这个问题.github 地址 https://github.com/vlucas/phpdotenv
利用 composer 安装
在 CI 框架中使用 composer 依赖需要修改配置文件
使用示例
在项目根目录下添加 .env 文件
public function test15(){
$dotenv = new \Dotenv\Dotenv('./');
$dotenv->overload();
echo getenv('xxx');
}
示例结果
优化
由于每次调用 getenv() 时都需要 new 对象,我们可以重新封装一个自定义方法,如下
/**
* 获取 .env 文件中的配置项
*/
if (!function_exists('my_env')){
function my_env($env){
$dotenv = new \Dotenv\Dotenv('./');
$dotenv->overload();
return getenv($env);
}
}
在基类控制器的构造方法中加载我们自定义的函数文件
使用结果相同