控制器中的Symfony 4 .env变量

Ael*_*lth 4 environment-variables symfony4

在Symfony 4中,我尝试将参数从.env传递给控制器​​:

  • .env
###> First user creation variables ###
FIRST_USER_LOGIN=admintest
FIRST_USER_PASSWORD=azertyui
###< First user creation variables ###
Run Code Online (Sandbox Code Playgroud)
  • services.yaml
parameters:
    locale: 'en'
    first.user:
        login: '%env(FIRST_USER_LOGIN)%'
        password: '%env(FIRST_USER_PASSWORD)%'
Run Code Online (Sandbox Code Playgroud)
  • 在我的控制器中:
$utilisateur->setUsername($this->getParameter('first.user.login'))
    ->setPassword(
        $encoder->encodePassword(
            $utilisateur,
            $this->getParameter('first.user.password')
        )
    )
    ->setRoles(['ROLE_ADMIN']);
Run Code Online (Sandbox Code Playgroud)
  • 我不知道自己在做什么错,但是我收到了以下错误消息:
    The parameter "first.user.login" must be defined.

Ael*_*lth 6

解决了,我很傻,只需更改services.yaml

parameters:
    locale: 'en'
    first.user.login: '%env(FIRST_USER_LOGIN)%'
    first.user.password: '%env(FIRST_USER_PASSWORD)%'
Run Code Online (Sandbox Code Playgroud)