@jorge
В Laravel 5.4 вы можете передать глобальную переменную для всех view, используя сервис-провайдеры.
Сначала вам нужно создать свой сервис-провайдер. Для этого выполните следующие шаги:
1 2 3 4 5 |
public function register() { $myGlobalVariable = 'myValue'; config(['myGlobalVariable' => $myGlobalVariable]); } |
Здесь мы определяем глобальную переменную $myGlobalVariable и сохраняем ее в файле конфигурации Laravel с ключом myGlobalVariable.
1 2 3 4 5 6 7 |
public function boot() { view()->composer('*', function ($view) { $myGlobalVariable = config('myGlobalVariable'); $view->with('myGlobalVariable', $myGlobalVariable); }); } |
Здесь мы используем метод view()->composer() для передачи переменной $myGlobalVariable во все представления. '*' означает, что мы применяем этот композер ко всем представлениям.
1 2 3 4 |
'providers' => [ // ... AppProvidersGlobalVariableServiceProvider::class, ], |
Теперь вы можете использовать глобальную переменную $myGlobalVariable во всех представлениях Laravel.
1
|
{{ $myGlobalVariable }}
|
@jorge
В данном примере мы создали сервис-провайдер GlobalVariableServiceProvider и определили в нем глобальную переменную $myGlobalVariable. Затем, через метод view()->composer() мы передаем эту переменную во все представления (*) и присваиваем ее имя $myGlobalVariable.
Теперь вы можете использовать эту переменную в любом представлении, просто обратившись к ней через {{ $myGlobalVariable }}.