>  기사  >  PHP 프레임워크  >  Laravel에서 일반적으로 사용되는 미들웨어는 무엇입니까?

Laravel에서 일반적으로 사용되는 미들웨어는 무엇입니까?

青灯夜游
青灯夜游원래의
2021-09-17 14:44:114540검색

laravel에서 일반적으로 사용되는 미들웨어는 다음과 같습니다. 1. "$middleware" 전역 미들웨어. 모든 요청을 처리해야 하는 경우 이 구성 요소에서 정의하는 것이 적합합니다. 2. "$routeMiddleware" 라우팅 미들웨어 3 , "$middlewareGroups" " 미들웨어 그룹.

Laravel에서 일반적으로 사용되는 미들웨어는 무엇입니까?

이 튜토리얼의 운영 환경: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.