Laravel 5.1 프레임 워 크 Middleware 미들웨어 기본 용법 사례 분석
3497 단어 Laravel5.1Middleware 미들웨어 미들웨어
중간 부품무슨 귀신 이 야?모두 가 이 단 어 를 처음 접 했 을 때 이런 의문 이 있 었 지만,그것 은 사실 그렇게 신 비 롭 지 않 았 다.
한 마디 로 설명 할 수 있 습 니 다.HTTP 요청 전용 메커니즘 을 걸 러 냅 니 다.
미들웨어 를 왜 사용 합 니까?
필터 HTTP 요청 은 다른 곳 에 쓸 수 있 습 니 다.예 를 들 어 컨트롤 러 의 경로 에서 BUT 가 추상 화 된 데 는 이유 가 있 습 니 다.예 를 들 어 Laravel 이 자체 적 으로 가지 고 있 는 Auth 미들웨어 는 로그 인 한 사용자 가 방문 해 야 로그 인 하지 않 으 면 로그 인 페이지 로 이동 할 수 있 습 니 다.이러한 논 리 는 많은 장면 에서 사용 된다 는 것 이 분명 하 죠?모든 컨트롤 러 나 모든 경로 에서 단독으로 이 루어 질 수 는 없 으 니 직접 추출 하 는 것 이 얼마나 편리 합 니까?
1.미들웨어 사용
1.1 미들웨어 만 들 기
우리 가 중간 부품 을 만 드 는 것 은 artisan 콘 솔 을 사용 하 는 것 입 니 다:
php artisan make:middleware TestMiddleware
생 성 후 위치:app/Http/Middleware1.2 중간 부품 해독
우선 새로 만 든 미들웨어 가 어떤 모습 인지 살 펴 보 자.
class TestMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
return $next($request);
}
}
판독:middleware 에"handle"함수 만 있 습 니 다.이 함 수 는 두 개의 인 자 를 받 습 니 다.이 프로 세 스 는 request 매개 변 수 를 받 아 무언 가 를 꺼 내 검증 하 는 것 입 니 다.
아직도 잘 모 르 시 면 괜 찮 습 니 다.실례 를 들 어 보 겠 습 니 다.
1.3 중간 부품 작성
public function handle($request, Closure $next)
{
// id 0 。
if ($request->input('id') == 0){
return redirect('/');
}
// id 0 。
return $next($request);
}
끝나 면 app/Http/Kernel.php 에 등록 해 야 합 니 다.
/**
* The application's global HTTP middleware stack.
*
* @var array
*/
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
];
/**
* The application's route middleware.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
// middleware
'test' => \App\Http\Middleware\TestMiddleware::class,
];
메모:볼 수 있 습 니 다.Kernel 에 두 개의 배열 이 있 습 니 다.전역 에서 사용 하고 싶 으 면 middleware 배열 에 등록 하 십시오.부분 적 으로 middleware 를 사용 하려 면 routeMiddleware 배열 에 등록 하 십시오.1.4 미들웨어 사용
자,등록 이 끝 난 후에 우리 가 사용 합 시다.
Route::get('/test-middleware',['middleware'=>'test',function(){
return 'HI';
}]);
우리 가 입력 하면:http://localhost:8000/test-middleware?id=1 을 입력 할 때 페이지 에 HI 를 출력 합 니 다.http://localhost:8000/test-middleware?id=0 시 홈 페이지 로 돌아 갑 니 다.Laravel 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 는 Laravel 프레임 워 크 를 바탕 으로 하 는 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel 5.1 프레임 워 크 모델 조회 역할 영역 정의 와 용법 사례 분석본 논문 의 사례 는 Laravel 5.1 프레임 워 크 모델 조회 역할 도 메 인 정의 와 용법 을 서술 했다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다. 검색 역할 영...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.