symfony - usePutenv 默认更改弃用警告修复

symfony - usePutenv default change deprecation warning fix

将 symfony 升级到 4.3 后,运行 单元测试时我收到以下警告:

Other deprecation notices (1)

  1x: The default value of "$usePutenv" argument of "Symfony\Component\Dotenv\Dotenv::__construct" will be changed from "true" to "false" in Symfony 5.0. You should define its value explicitly.
    1x in Dotenv::__construct from Symfony\Component\Dotenv

警告本身很清楚,修复也应该很清楚,但是...我发现没有明确定义该值的配置(实际上我很想先阅读它的当前值,只是为了仔细检查)。知道如何解决这个问题(在哪里定义)吗?

P.S。我知道它现在不会干扰任何事情,但我认为没有理由不拥有干净的输出和没有 "hidden surprises".

的代码

编辑:据我所知,对 Dotenv 的调用直接硬编码在 bootstrap 此处:

(new Dotenv())->loadEnv(dirname(__DIR__).'/.env');

我应该在那里修改还是有更好的方法?

如果安装新的 Symfony 4.4(-dev),config/bootstrap.php 中的行将是:

//old
(new Dotenv())->loadEnv(dirname(__DIR__).'/.env');

//new
(new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env');

只需放入 false 即可清除消息并像您已经做的那样继续 - 明确并与 Symfony 5.0 兼容,除非您需要知道您正在使用 [=12= 的结果]. (不太可能,否则它会默认)。