Как получить значение ключа из файла .env?

В файле .env есть настройки ключевых значений; например: APP_ENV=prod

Например, как получить значение ключа APP_ENV?

Возможный дубликат: stackoverflow.com/questions/52151783/…

Jovan Perovic 18.12.2020 13:45

Если вы используете фреймворк Symfony (в отличие от отдельных компонентов Symfony), то, как правило, вы вводите значение в любой класс, который ему нужен. Синтаксис на первый взгляд немного странный: '%env(resolve:APP_ENV)%', но к нему привыкаешь. Если APP_ENV — это единственное значение, которое вам нужно, то оно уже установлено в качестве параметра: «%kernel.environment%» будет работать. Использование $_ENV будет работать, но не рекомендуется для Symfony.

Cerad 18.12.2020 13:56

@Cerad обозначение для файла yaml

pheromix 18.12.2020 14:31

@pheromix Конечно, это для yaml. По той же ссылке показаны xml и php. Я хочу сказать, что если вы используете фреймворк, вам не следует обращаться к переменным env напрямую, используя $_ENV или getenv. Вы должны вводить их, когда они необходимы. Но это нормально. Я подозреваю, что со временем вы поймете, почему.

Cerad 18.12.2020 15:02
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
789
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

См. https://github.com/symfony/dotenv / https://symfony.com/doc/4.1/components/dotenv.html , который разбирается в $_ENV, а в PHP есть getenv функция, которую вы используете для получения значения.

use Symfony\Component\Dotenv\Dotenv;

$dotenv = new Dotenv();
$dotenv->load(__DIR__.'/.env');

$appEnv = getenv('APP_ENV');
// you can also use ``$_ENV`` or ``$_SERVER``

Вы можете использовать класс Dotenv(), так как документация описывает здесь вы можете вызывать APP_ENV вот так

use Symfony\Component\Dotenv\Dotenv;

$dotenv = new Dotenv();
$dotenv->load('..\.env');
$appEnv= $_ENV['APP_ENV'];

Другие вопросы по теме