Подключение файла php в Controller и blade. Laravel

Всем привет. Подскажите пжл.
Я создал файл в директории App/Dictionary/ru.php в нем находиться массивы данных, типа словаря.

$lg_day_week = array (
    1 => 'пн',
    2 => 'вт',
    3 => 'ср',
    4 => 'чт',
    5 => 'пт',
    6 => 'сб',
    7 => 'вс',);
  1. в blade я могу его подключить: <?php include app_path()."/dictionary/ru.php"; ?>
  2. как его подключить в контроллере?

мне выходит ошибка: ErrorException Undefined variable: $lg_day_week


Ответы (1 шт):

Автор решения: Dmitrii Sedov
  1. Я создал файл в директории App/Dictionary/ru.php в нем находиться массивы данных, типа словаря.

В ларавеле так делать нельзя. Удаляйте сразу этот файл. Все файлы локализации находятся по пути, /resources/lang/en,ru и т.д только там создаются данные массивы. Читаем данный раздел документации

  1. в blade я могу его подключить: .

В ларавеле и так делать нельзя! все подключения в блейде используются с помощью директив, @extends @include @yield. Отправка переменных на фронт осуществляется только через контроллер или конфиги и локализации или глобальное подключение. Подключением шаблона или response Читаем данный раздел документации и этот

  1. как его подключить в контроллере?

После переписывания всего что описано выше, для получения значений для текущей локализации с выводом на фронт через контроллер используется фасад Lang или сразу в блейде с помощью хелпера __('путь') (например __('messages.errors'))

Пример:

// контроллер
function index()
{
    //файл lang/ru/dates.php
    $weeksName = Lang::get('dates.weeks');
}

// файл локализации

return [
    'weeks' => [
        1 => 'пн',
        2 => 'вт',
        3 => 'ср',
        4 => 'чт',
        5 => 'пт',
        6 => 'сб',
        7 => 'вс'
    ]
];
→ Ссылка