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);
}
}
在基类控制器的构造方法中加载我们自定义的函数文件

使用结果相同

本文介绍如何在CodeIgniter框架中通过Composer依赖引入phpdotenv包,实现类似Laravel的.env配置文件读取功能。文章提供了具体示例,包括在项目根目录下创建.env文件,使用my_env自定义函数优化getenv()调用。
104

被折叠的 条评论
为什么被折叠?



