【发布时间】:2015-09-18 21:21:08
【问题描述】:
我的大部分课程都包含加载环境变量以进行配置。当我编码时,我认为vlucas/phpdotenv 忽略了测试环境中的.env 文件,因为已经有一个像phpunit.xml 这样的conf 文件在其中定义它们。
在测试环境中是否可以让 dotenv 忽略 .env?
【问题讨论】:
-
不能忽略 .env 文件,但如果在加载 .env 文件之前设置了环境变量,则使用预定义变量,除非使用
$dotenv->overload调用 .env 文件方法。我不认为 Laravel 做后者。这意味着phpunit.xml中定义的环境变量不会被覆盖。 -
我试图使用默认值
env('myVar', $defaultValue),这样我就不必在phpunit.xml上设置它,但似乎无法做到:( -
您可以在启动应用程序之前在测试用例中声明环境变量。但这不会让您仍然使用默认值。我通常为我的生产服务器保留默认值,所以我的直播中不需要 .env 文件。
标签: php laravel laravel-5 phpunit phpdotenv