laravel에서 일반적으로 사용되는 미들웨어는 다음과 같습니다. 1. "$middleware" 전역 미들웨어. 모든 요청을 처리해야 하는 경우 이 구성 요소에서 정의하는 것이 적합합니다. 2. "$routeMiddleware" 라우팅 미들웨어 3 , "$middlewareGroups" " 미들웨어 그룹.
이 튜토리얼의 운영 환경: Windows 7 시스템, Laravel 6 버전, Dell G3 컴퓨터.
laravel에서 흔히 사용되는 세 가지 미들웨어
$middleware 속성:
이 속성을 글로벌 미들웨어라고 부르는 이유는 무엇인가요? 요청할 때마다 그 안의 모든 미들웨어가 실행되기 때문입니다.
$routeMiddleware 속성:
이 속성을 라우팅 미들웨어라고 부르는 이유는 무엇인가요? 이 속성에 정의된 미들웨어는 경로를 정의할 때만 참조할 수 있기 때문입니다.
우리가 정의한 라우팅 미들웨어가 다음과 같다고 가정해 보겠습니다.
protected $routeMiddleware = [ ... 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, ];
IlluminateAuthMiddlewareAuthenticate::class 미들웨어를 사용하려면 어떻게 해야 할까요?
Route::get('hello/laravel-china','XXController@index')->middleware('auth');
라우트 정의 시 미들웨어 메소드를 호출했는데, 매개변수 값이 auth입니다. 이 경로 시간에 액세스하는 방법에 따라 미들웨어가 실행됩니다. 알았어요! 매우 간단합니다.
$middlewareGroups 속성:
이 속성을 미들웨어 그룹이라고 부르는 이유는 무엇인가요? 아까 라우팅 미들웨어에 대해 얘기했는데, 이렇게 라우팅 미들웨어를 추가하는 게 번거롭다고 생각하시나요? 예를 들어 미들웨어가 10개 실행되면 경로를 정의할 때 10개를 추가해야 하나요? 미들웨어 그룹과 함께라면 그렇게 번거로울 필요가 없습니다. 미들웨어 그룹이 어떻게 정의되는지 살펴보겠습니다.
protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, ... ], 'api' => [ ... ], ];
그렇습니다. 위의 예는 미들웨어 그룹의 형식을 정의한 것입니다. 예를 들어 키 값 web을 보면 여러 미들웨어로 구성된 배열에 해당합니다. 일단 정의했다면 어떻게 사용해야 할까요?
경로를 선언할 때는 이렇게 부르면 됩니다.
Route::group(['middleware' => 'web'],function($route){ $route->get('hello/world',function(){}); $route->get('hello/php',function(){}); // 这样在访问这个这些路由的时候,就会执行中间件组 web 所对应的中间件,方便多了,批量式的。 });
요약:
$middleware: 글로벌 미들웨어로, 모든 요청에 대해 일부 처리가 필요한 경우 이 속성에 정의하는 것이 적합합니다. (예: 요청 수 계산)
$middlewareGroups: 미들웨어 그룹. 예를 들어 우리 프로젝트에 API 요청과 웹 요청이 있는 경우 두 가지 유형의 요청 미들웨어를 분리해야 합니다. 이때 미들웨어 그룹이 필요합니다. 라.
$routeMiddleware: 라우팅 미들웨어. 일부 개별 요청에 대해 특별한 미들웨어를 실행해야 하는 경우 이 속성에 정의하는 것이 적합합니다.
인용문: https://laravel-china.org/topics/7392/laravel-3-middleware-functions
관련 권장 사항: 최근 5개의 Laravel 비디오 튜토리얼
위 내용은 Laravel에서 일반적으로 사용되는 미들웨어는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!