Как использовать App :: before () Laravel 5.0 - PullRequest
0 голосов
/ 25 мая 2018

Я выполнил переход с Laravel 4.2 на 5.0 и, читая другие вопросы, создал новое Middleware в своем app \ http \ middleware , но я не знаю, какреализовать это на моем RouteServiceProvider.php

Это мое BeforeMiddleware :

<?php namespace App\Http\Middleware;

use Closure;

class BeforeMiddleware {

 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
    return $next($request);
 }

}

И на моем RouteServiceProvider iполучил это

App::before(function($request)
{
    //I think here need to be my code...    
});

Ответы [ 2 ]

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

Мне пришлось столкнуться с той же ситуацией некоторое время назад для CRM, и идеальный подход - это перенести то, что у вас было в App::before() в Laravel 4.2 , на поставщика услуг в Laravel5.0 .

Сначала вы можете просто использовать метод boot(), расположенный в AppServiceProvider, таким образом, чтобы вы могли проверить воды.

Оттуда вы можете выбратьиметь выделенного поставщика услуг только для хранения этой части, например AppBeforeServiceProvider .

Вы упомянули миграцию на промежуточное ПО , но на самом деле это для filtersисходящий из Laravel 4.2 .

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

Вам необходимо зарегистрировать свое промежуточное ПО в файле app/Http/Kernel.php.

Здесь вы найдете 3 варианта:

protected $middleware = [..] <-- run on EVERY request

protected $middlewareGroups = ['web'=>...] <-- run on all web routes

protected $routeMiddleware = ['auth'...] <-- run on routes when defined
...