Получить значение среды в контроллере

У меня есть часть кода, которая работает для меня:

arr.sort((a, b) => a.name > b.name)

UPDATE: не работает всегда, поэтому это неверно: (

29
задан nielsv 14 December 2015 в 09:08
поделиться

9 ответов

попробуйте с

<?php $hostname = env("IMAP_HOSTNAME_TEST", "somedefaultvalue"); ?>
51
ответ дан Chetan Ameta 14 December 2015 в 09:08
поделиться

Не работает в Laravel 5.3+, если вы хотите попытаться получить доступ к значению из контроллера, как показано ниже, он всегда возвращает ноль

<?php

$value=env('MY_VALUE','default_value');

РЕШЕНИЕ: Скорее вам нужно создать файл в папке конфигурации .. скажем values.php, а затем написать коды, как показано ниже

values.php

<?php

return [

    'myvalue' => env('MY_VALUE',null),

    //add other values as you want

]

Затем получите доступ к значению в вашем контроллере с помощью следующего кода

<?php


$value=\Config::get('credentials.myvalue')

Где «учетные данные» - это имя файла, за которым следует ключ «myvalue». Надеюсь, это поможет

30
ответ дан sorak 14 December 2015 в 09:08
поделиться
1111 Я подумал, что добавлю ответ, чтобы упростить то, что было сказано в прошлом. Только конфигурационные файлы могут обращаться к переменным env - и затем передавать их.

Шаг 1.) Добавьте вашу переменную в файл .env, т.е.

EXAMPLE_URL="http://google.com"

Шаг 2.) Создайте новый файл внутри папки config, любое имя, т. Е.

config/example.php

Шаг 3.) Внутри этого нового файла я добавляю возвращаемый массив, содержащий эту переменную env.

<?php
return [
  'url' => env('EXAMPLE_URL')
];

Шаг 4.) Поскольку я назвал это «example», моя конфигурация «namespace» теперь является примером. Итак, теперь в моем контроллере я могу получить доступ к этой переменной с помощью:

$url = \config('example.url');

Подсказка - если вы добавите use Config; вверху вашего контроллера, вам не понадобится обратная косая черта (который обозначает корневое пространство имен). Т.е..

namespace App\Http\Controllers;   
use Config; // Added this line

class ExampleController extends Controller
{
    public function url() {
        return config('example.url');
    }
}

--- ВАЖНО --- Не забудьте войти в консоль php artisan config:cache после того, как вы создали файл example.php. Файлы конфигурации и переменные кэшируются, поэтому, если вы вносите изменения, вам необходимо очистить этот кэш - то же самое относится и к файлу .env, который был изменен / добавлен.

14
ответ дан Grant 14 December 2015 в 09:08
поделиться

Все переменные, перечисленные в файле .env, будут загружены в суперглобальный

Все переменные, перечисленные в файле [111], будут загружены в суперглобальный [112] PHP, когда ваше приложение получит запрос. Оформить заказ страница конфигурации Laravel

Все переменные, перечисленные в файле .env, будут загружены в суперглобальный

Все переменные, перечисленные в файле [111], будут загружены в суперглобальный [112] PHP, когда ваше приложение получит запрос. Оформить заказ страница конфигурации Laravel

[110]ENV PHP, когда ваше приложение получит запрос. Оформить заказ страница конфигурации Laravel

[110]ENV['yourkeyhere'];
ENV
PHP, когда ваше приложение получит запрос. Оформить заказ страница конфигурации Laravel

[110]
10
ответ дан Basheer Ahmed 14 December 2015 в 09:08
поделиться

InController

$hostname = 

InController

[110]

В blade.view

{{

InController

[110]

В blade.view

[111]ENV['IMAP_HOSTNAME_TEST']}}
ENV['IMAP_HOSTNAME_TEST']; (or) $hostname = env('IMAP_HOSTNAME_TEST');

В blade.view

{{

InController

[110]

В blade.view

[111]ENV['IMAP_HOSTNAME_TEST']}}
3
ответ дан Anandan K 14 December 2015 в 09:08
поделиться

Вы можете использовать с этим форматом (протестировано на Laravel 5.5), в моем случае я использовал для получения данных о соединениях с базой данных и использования на контроллере:

$User = env('DB_USERNAMEchild','');
$Pass = env('DB_PASSWORDchild','');

Второй параметр может быть нулевым или установите любое значение по умолчанию, если DB_USERNAMEchild имеет значение null.

Ваш .env файл может быть таким же:

DB_HOST=localhost
DB_DATABASE=FATHERBD
DB_USERNAME=root
DB_PASSWORD=password

DB_DATABASEchild=ZTEST
DB_USERNAMEchild=root
DB_PASSWORDchild=passwordofchild
2
ответ дан Zarkys Salas 14 December 2015 в 09:08
поделиться

в Laravel Controlller

public static function mail($param)
{
    //

в Laravel Controlller

[110]

в файлах Laravel Blade

@if (env('APP_ENV')!='Production')
    Enviroment Test
@endif

must run this commands

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

Пример: доступ к переменным Laravel .env в лезвии

APP_ENV=local
APP_KEY=////
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
APP_GOOGLE_MAPS=////
APP_OVERHEID_IO=////

{{ env('APP_ENV') }} // returns 'local' 
{{ env('APP_URL') }} // returns 'http://localhost' 

Получить значение среды в контроллере

ENV['yourkeyhere']; $mailgunsecret = env('MAILGUN_SECRET'); $mailguurl = env('MAILGUN_DOMAIN'); }

в файлах Laravel Blade

@if (env('APP_ENV')!='Production')
    Enviroment Test
@endif

must run this commands

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

Пример: доступ к переменным Laravel .env в лезвии

APP_ENV=local
APP_KEY=////
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
APP_GOOGLE_MAPS=////
APP_OVERHEID_IO=////

{{ env('APP_ENV') }} // returns 'local' 
{{ env('APP_URL') }} // returns 'http://localhost' 

Получить значение среды в контроллере

3
ответ дан ng example 14 December 2015 в 09:08
поделиться

Может быть не связано, но может кому-то помочь .... в Laravel просто dd (config ('app.env')); и вы увидите «местный» или «производство»

-2
ответ дан T.J. 14 December 2015 в 09:08
поделиться

Лучше поместить переменные конфигурации в файл конфигурации.

В вашем случае я бы предложил поместить ваши переменные в config / mail.php , например

'imap_hostname' => env('IMAP_HOSTNAME_TEST', 'imap.gmail.com')

, и обратиться к ним по

config('mail.imap_hostname')

Сначала он пытается получить значение переменной конфигурации в файле .env и, если ему не удалось найти значение переменной в файле .env , он получит значение переменной из config / mail.php

0
ответ дан Hamid Parchami 14 December 2015 в 09:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: