Home > Back-end >  Is there any way to access a Symfony secret value in userland code?
Is there any way to access a Symfony secret value in userland code?

Time:10-05

Despite making them appear to be environment variables, Symfony does not actually load secrets into the environment, so you can't access them via getenv() or $_ENV. Is there any way to access them other than via DI? I'm trying to have the secret name be stored as an entity property in a database, then have a service class read the appropriate secret's value for whichever entity is requested by the API client.

CodePudding user response:

You can add your env values to your parameters in config/services.yaml like that (you can even have them be booleans, JSON or whatever) :

parameters:
    your_secret: '%env(YOUR_SECRET)%'
    your_bool: '%env(bool:YOUR_BOOL)%'
    your_json: '%env(json:YOUR_JSON)%'

Then you can, for example, retrieve it from a controller like so:

    $yourSecret = $this->getParameter('your_secret');
  • Related