#php #symfony
Вопрос:
Несмотря на то, что они кажутся переменными среды, Symfony на самом деле не загружает секреты в среду, поэтому вы не можете получить к ним доступ через getenv() или $_ENV. Есть ли какой-либо способ получить к ним доступ, кроме как через DI? Я пытаюсь сохранить секретное имя в качестве свойства сущности в базе данных, а затем попросить класс обслуживания прочитать значение соответствующего секрета для любого объекта, запрошенного клиентом API.
Ответ №1:
Вы можете добавить свои значения env к своим параметрам config/services.yaml
таким образом (вы даже можете использовать логические значения, JSON или что-то еще). :
parameters:
your_secret: '%env(YOUR_SECRET)%'
your_bool: '%env(bool:YOUR_BOOL)%'
your_json: '%env(json:YOUR_JSON)%'
Затем вы можете, например, извлечь его из контроллера следующим образом:
$yourSecret = $this->getParameter('your_secret');
Комментарии:
1. Вот чем я в итоге занялся… Я хотел вернуться и ответить на свой собственный вопрос, но забыл. Вместо этого вы получаете кредит.