Глобализация всех общих переменных в Laravel - PullRequest
0 голосов
/ 06 марта 2019

У меня есть общая переменная в моем проекте Laravel.Например, логотип, ico, название и т. Д. Будут отображаться на соответствующих моделях.Теперь проблема в том, что мне нужно объявить все переменные в каждом методе индекса контроллеров, иначе система говорит, что переменная не определена.Как я могу сделать эти переменные глобальными?

1 Ответ

1 голос
/ 06 марта 2019

Вы можете использовать просмотр композиторов или обмен данными со всеми представлениями - это прямо в документах.

Простым примером использования компоновщика представлений для совместного использования переменной со всеми представлениями будет использование оператора подстановочного знака (*). Помните, что вам нужно зарегистрировать все это у одного из ваших поставщиков услуг.

use App\Logo;
use Illuminate\Support\Facades\View;

View::composer('*', function ($view) {
    $view->with('logo', Logo::first());
});

Преимущества этого подхода в том, что вы можете организовать все, что вы считаете глобальным, в одном обратном вызове, но также он дает вам ограничение, ограничивающее его определенными представлениями / частями.

В противном случае проще использовать метод share.

View::share('logo', Logo::first());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...