Laravel 配置:设置环境变量
正确的设置方式
新手在设置环境变量时很容易犯错,接下来演示一个正确的设置方式。
假如我们的项目里需要增加 API 前缀的设置 API_PREFIX
。
第一步、在 .env.example
中新增
本地的 .env
是不在 Git 版本库里的,如果你直接添加 API_PREFIX
KEY,你队友的环境里没有此 KEY 的,你提交的代码有可能会在他们的环境里报错。
正确的做法是在 .env.example
里新增你所需要的键,并赋予一个空值或者默认的值:
.env.example
API_PREFIX=api
第二步、在 .env
中新增
.env
API_PREFIX=api
第三步、将 KEY 放置于配置信息里
请不要直接在代码中直接使用环境变量,因为:
如果在部署过程中执行
config:cache
命令来缓存配置信息,那你应该确保 只从配置文件内部 调用env
函数。一旦配置被缓存,.env
文件将不再被加载,所有对env
函数的调用都将返回null
。
只从配置文件内部调用 env
函数 是最佳实践,我们可以把环境变量的读取放置于任何配置文件中。此例中,我们选择创建新的配置信息文件 config/api.php
,此文件用来存放所有 API 相关的配置信息,内容如下:
config/api.php
<?php
return [
'prefix' => env('API_PREFIX', 'api')
];
注意: env
函数的第二个参数是默认值,假如其他环境没有配置 API_PREFIX
的话,就会使用此默认值。
第四步、开始使用
接下来我们就可以放心地在程序中使用此配置信息:
>>> config('api.prefix');
=> api
写得不错