Подключение файла php в Controller и blade. Laravel
Всем привет. Подскажите пжл.
Я создал файл в директории App/Dictionary/ru.php
в нем находиться массивы данных, типа словаря.
$lg_day_week = array (
1 => 'пн',
2 => 'вт',
3 => 'ср',
4 => 'чт',
5 => 'пт',
6 => 'сб',
7 => 'вс',);
- в blade я могу его подключить:
<?php include app_path()."/dictionary/ru.php"; ?> - как его подключить в контроллере?
мне выходит ошибка: ErrorException Undefined variable: $lg_day_week
Ответы (1 шт):
- Я создал файл в директории App/Dictionary/ru.php в нем находиться массивы данных, типа словаря.
В ларавеле так делать нельзя. Удаляйте сразу этот файл. Все файлы локализации находятся по пути, /resources/lang/en,ru и т.д только там создаются данные массивы. Читаем данный раздел документации
- в blade я могу его подключить: .
В ларавеле и так делать нельзя! все подключения в блейде используются с помощью директив, @extends @include @yield. Отправка переменных на фронт осуществляется только через контроллер или конфиги и локализации или глобальное подключение. Подключением шаблона или response Читаем данный раздел документации и этот
- как его подключить в контроллере?
После переписывания всего что описано выше, для получения значений для текущей локализации с выводом на фронт через контроллер используется фасад Lang или сразу в блейде с помощью хелпера __('путь') (например __('messages.errors'))
Пример:
// контроллер
function index()
{
//файл lang/ru/dates.php
$weeksName = Lang::get('dates.weeks');
}
// файл локализации
return [
'weeks' => [
1 => 'пн',
2 => 'вт',
3 => 'ср',
4 => 'чт',
5 => 'пт',
6 => 'сб',
7 => 'вс'
]
];