Laravel 最佳实践
分享链接:https://github.com/alexeymezenin/laravel-b...
为什么避免直接从 .env
文件里获取数据**?
将数据传递给配置文件,然后使用config()
帮助函数来调用数据
例子:
$apiKey = env('API_KEY');
更优的写法:
// config/api.php
'key' => env('API_KEY'),
// Use the data
$apiKey = config('api.key');
这和配置文件缓存有关,比如说:
在 .env 文件中有个环境变量
TEST_API_KEY=abc
,你在项目下执行了
php artisan config:cache
命令,然而在控制器中却使用了
env('TEST_API_KEY')
,这时候是获取不到的这个环境变量的。
补充@varro
config() 是获取 config下配置文件配置参数
env() 是获取 .env文件下配置参数
.env 文件本意是服务于 config 配置文件
所以建议项目中直接获取 config 配置,而不是 env
另外 config 配置可以进行缓存,加快配置的读取速度。
config配置可以缓存,直接从缓存取回快点