php - 在 Symfony 4 应用程序中,如何将环境变量传递给服务类?

标签 php symfony docker environment-variables

我正在使用 Symfony 4 和 Docker 创建一个应用程序。在我的 .env 文件中,我有以下几行:

DEVICE_CREATION_SECRET=123456

...在我的 services.yaml 文件中,我有以下定义:
VMS\Application\DigitalRetail\Handler\DeviceForwardHandler:
    arguments:
        - env(DEVICE_CREATION_SECRET)

...我希望将我的 secret (123456) 交给我的类(class),因为我在那个类(class)有这个:
public function __construct(string $deviceCreationSecret)
{
    $this->deviceCreationSecret = $deviceCreationSecret;
}

但是当我运行我的应用程序并转储该值时,我得到的是 env(DEVICE_CREATION_SECRET) 而不是我的 secret (123456)。我需要什么才能访问那个 secret ?

最佳答案

我认为这种方式应该有效:

VMS\Application\DigitalRetail\Handler\DeviceForwardHandler:
    arguments:
        - '%env(DEVICE_CREATION_SECRET)%'

https://symfony.com/doc/current/configuration/external_parameters.html

关于php - 在 Symfony 4 应用程序中,如何将环境变量传递给服务类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55044977/

相关文章:

PHP检查时间范围是否在一个时间范围内

php - IE : Sidebar Won't Appear 中的 CSS 问题

php - 创建自定义存储库后如何访问 Doctrine 定义的方法?

linux - 无法在 Oracle Linux 中启动 docker 引擎

linux - 如何配置 logstash 以使用 "stdout"作为输入?

python - 使用 supervisord 管理 docker 容器的最佳方法

php - 为什么 PHP 需要递归存储相同的全局数据?

javascript - 如何阻止 PHP 页面中的 javascript 片段加载到屏幕分辨率较小的设备上

php - 在 Symfony 中放置自定义实体方法的最佳实践

forms - 如何在 Symfony2 的选择表单字段中列出数组