Laravel - доступ к переменным .env

Я попытался получить переменную среды из .env в моем корне с помощью

Route::get('/test', function () {
    return "value is". getenv('APP_ENV');
});

и

Route::get('/test', function () {
    return "it is". env('APP_ENV');
});

Это в .env

APP_NAME=Laravel
APP_ENV=local

Как я могу получить к нему доступ?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
8
0
14 554
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

laravel предоставляет глобальную вспомогательную функцию для такого рода задач

$val = config('app.something');

вы также можете установить новые значения с помощью следующего метода

config(['app.something' => 'cat']);

Справка

для вашей конкретной задачи это было бы

$val = config('app.env');

или определить env глобально

$environment = App::environment();

Надеюсь, это поможет, всего хорошего!

Это пустой Route :: get ('/ test', function () {return "Environment". Config ('APP_ENV');}); мне нужно установить его где-нибудь еще?

LeBlaireau 23.08.2018 15:42

Как насчет Javascript (файл лезвия)?

Pathros 17.05.2020 01:01

Согласно документации Laravel на Конфигурация среды,

All of the variables listed in this file will be loaded into the $_ENV PHP super-global when your application receives a request. You may use the env helper to retrieve values from these variables.

Таким образом, можно получить доступ к переменной как

$_ENV['envKey'];

С Laravel вам следует избегать переменных окружения за пределами ваших файлов конфигурации.

В своих файлах конфигурации вы можете использовать переменные среды, например, в config / app.php:

'env' => env('APP_ENV', 'production'),

Затем вы можете получить к нему доступ с помощью помощника по настройке: config('app.env').

Это позволяет вам кэшировать вашу конфигурацию и по-прежнему получать доступ к этим значениям, поскольку env('APP_ENV') будет больше не работает после кеширования вашей конфигурации.

Если установить другой 'production', может ли это быть и 'OTHER_ENV_VAR'?

Pathros 02.07.2020 20:23

Я не понимаю, почему вы не могли вложить вызовы env: env('APP_ENV', env('OTHER_ENV_VAR', 'ultimate_default'))

Devon 02.07.2020 22:03
Ответ принят как подходящий
Route::get('/test', function () {
    return "it is".config('app.name');
});

использовать env('ENVKEY') Не забывайте когда-нибудь очищать кеш из-за кеша.

php artisan config:clear php artisan cache:clear composer dump-autoload

Более подробную информацию смотрите на док

Кеш приложения не повлияет на переменные среды, только кеш конфигурации.

Devon 23.08.2018 15:51

может и нет, но что-то не получается. Есть много случаев, например, вы можете проверить это stackoverflow.com/questions/43040967/…

user7747472 23.08.2018 15:52

Это нормально, но единственное, что имеет значение, - это ваша первая команда. Я предлагаю вам изучить две другие команды, если вы считаете, что они имеют отношение к этому вопросу.

Devon 23.08.2018 15:54

Думаю, это актуально, поэтому и добавил. Спасибо за вашу информацию, хотя я буду исследовать ее

user7747472 23.08.2018 15:59

спасибо, что это заняло у меня 1 час, чтобы понять это. новое для конфигурации laravel

zero8 28.10.2020 13:20
 App::environment()

попробуйте это пожалуйста

Я пробовал env ('APP_ENV'), $ _ENV ('APP_ENV'), но результаты нулевые. Эта функция дает мне результат. ваше здоровье :)

saad siddiqui 08.01.2019 11:56

просто запустите эти команды в cmd.

php artisan config:cache

потом

php artisan config:clear

потом

php artisan cache:clear

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