@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 }}.