В старом laravel 4 Code мы используем константы.php для определения глобальных варов.laravel 5: Где определить глобальные Vars?
Каковы наилучшие методы использования определения варов в Laravel 5?
Мы бы не хранить его в файле .env или routes.php
В старом laravel 4 Code мы используем константы.php для определения глобальных варов.laravel 5: Где определить глобальные Vars?
Каковы наилучшие методы использования определения варов в Laravel 5?
Мы бы не хранить его в файле .env или routes.php
Я просто хочу немного улучшить @ ответ Адама. Предположим, что онлайн-корзина. Затем вы хотите, чтобы глобальный var хранил currency symbol
для отображения в представлениях. Поскольку это значение может быть изменено по времени, вы можете указать его в App\Providers\ConfigServiceProvider
так:
public function register()
{
$currency = 'whatever you want';
config([
'currency' => $currency
]);
}
$currency = config('currency')
вар глобальна для использования на всем приложении даже запрос еще не прибыл в контроллерах (вы можете прочитать больше около middleware classes).
Если вы окончательно хотите использовать constanst (значения никогда не изменяется), вы могли бы рассмотреть возможность установить значение в конфигурационных файлах direclty, как показано ниже:
# create a new config file config/customs.php
# like content, you could start with:
return [
'currency' => '$'
];
Наконец, вы грейферы значения в вашем приложении с config('customs.currency')
.
Зависит от того, какой переменных, которые вы пытаетесь сохранить. Если они связаны с моделью, они должны храниться в модели, если они связаны с окружающей средой, они должны храниться в .env. Какие переменные вы пытаетесь сохранить?
У нас есть один файл в config/folder, который нуждается в этом глобальном Vars, если мы храним его в соответствующей модели, мы получили Fatal Error, потому что \ Eloquent недоступен. Я думаю, что это нарушено концепцией. –
Какие переменные вы пытаетесь сохранить? – Adam
например: define ('COUNTRY_ID_AU', 36); –
«variables» - «константы» Эти имена не звонят вам ни за какие колокола? Вы не должны использовать глобальные переменные. Для «констант» приложения вы должны использовать «Config». Для констант класса вы должны использовать константы класса. –
@SergiuParaschiv Вы говорите: «Вы не должны использовать глобалы каким-либо образом», но сразу после этого вы говорите «вы должны использовать Config». Пожалуйста, объясните, как эти два отличаются? – PeeHaa
'Config' используется для _constants_, а не _variables_. Глобалы, будь то переменные или тщательно используемые в качестве констант, являются плохими. Глобальные переменные - это просто плохая практика. Для констант есть лучшие способы, как я сказал - 'Config'. –