Переменная Laravel 5.6 для просмотра из промежуточного ПО - PullRequest
0 голосов
/ 19 мая 2018

Есть ли способ передать переменную в представление с помощью промежуточного программного обеспечения?
Я смог сделать это с помощью сеанса, но это не решило мою проблему, поэтому я прошу об этом.

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

Промежуточное программное обеспечение используется для изменения запроса.

Если у вас есть динамические данные, которые вы используете для каждого представления, то лучше всего использовать поставщика услуг, а не промежуточное программное обеспечение.

Например,Вы можете иметь на каждой странице некоторые метаданные, и каждое представление содержит header.blade.php, которое может выглядеть следующим образом:

<head> <meta name="{{$meta_key}}" content="{{$meta_desc}}"> </head>

Затем вы можете создать поставщика услуг

 public function boot()
 {
    view()->composer('view', function () {
          // compute $meta_key and $meta_desc from slug 
         $view->with('meta_key', $meta_key)->with('meta_desc', $meta_desc);
    });
 }

Вы также можете проверить этот учебник из laracast

0 голосов
/ 19 мая 2018

Вы можете объединить переменную в запросе, прочитать ее из запроса на контроллере и затем передать ее в представление.

Например, в промежуточном программном обеспечении:

public function handle($request, Closure $next)
{
    $foo = 'bar';
    $request->merge(compact('foo'));

    return $next($request);
}

На контроллере:

public function create(Request $request)
{
    $foo = $request->foo;
    return view('my.view', compact('foo'));
}

Затем в представлении вы можете ссылаться на него как, например, {{ $foo }}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...