【초보자】Laravel의 미들웨어는
7800 단어 middlewarePHP라라벨미들웨어
소개
"Laravel의 미들웨어는 누구입니까?"라는 레벨의 초학자가
싹둑 조사하고 싹둑 정리했습니다. (Laravel6계입니다.)
미들웨어는
Laravel의 미들웨어는 컨트롤러 클래스의 처리 전후에 위치하며, 주로 HTTP 요청의 필터링이나 HTTP 응답의 변경을 담당한다. 인증 및 CSRF 보호 등의 미들웨어가 준비되어 있어
app/Http/Middleware
디렉토리에 설치되어 있다.그리고 미들웨어는 자작 할 수 ..!!
생성 절차 (Laravel6)
1.artisan 명령으로 미들웨어 클래스 만들기
2. 미들웨어 클래스 편집
3. 미들웨어 클래스 등록
1.artisan 명령으로 미들웨어 클래스 만들기
php artisan make:middleware HogeMiddleware
이 명령을 실행하면 app/Http/Middleware/HogeMiddleware.php가 생성됩니다.
2. 미들웨어 클래스 편집
생성된 HogeMiddleware.php는 다음과 같이 되어 있으므로,
handle() 속에 처리를 써 간다.
app/Http/Middleware/HogeMiddleware.php
<?php
namespace App\Http\Middleware;
use Closure;
class HogeMiddleware {
public function handle($request, Closure $next)
{
//処理を記述
return $next($request);
}
}
3. 미들웨어 클래스 등록
작성한 미들웨어 클래스를 사용하려면 ,Kernel.php에 기술할 필요가 있다.
일부 생략하고 있지만 Kernel.php는 디폴트에서는 아래와 같이 되어 있다. 방금 만든 HogeMiddleware 클래스를 $middle 내에 추가했다.
app/Http/Kernel.php
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
protected $middleware = [
\App\Http\Middleware\TrustProxies::class,
\App\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\HogeMiddleware::class, //こんな感じに追加
...
];
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
...
],
'api' => [
'throttle:60,1',
'bindings',
],
];
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
...
];
protected $middlewarePriority = [
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\Authenticate::class,
...
];
}
$middleware
모든 처리에 대해 반드시 실행됩니다.
$middlewareGroups
배열로서 그룹명과 그 배열 내에 그룹화하고 싶은 미들웨어를 등록해 간다.
기본적으로 web와 api가 설정되어 있다. 웹 미들웨어 그룹은
route/web.php
의 처리에 대해 실행됩니다. (RouteServiceProvider에서 설정할 수있는 것 같습니다)$routeMiddleware
미리 키를 할당해 두는 것으로, Route나 Controller로 간단하게 사용할 수 있다.
Route::get('admin/profile', function () {
//処理
})->middleware('auth');
$middlewarePriority
미들웨어 우선 순위를 지정할 수 있습니다.
참고:
htps : // ぁらゔぇl. 이 m/도 cs/6. x / 미 d
htps : // m / 쿠리 카즈 / ms / 0c57f050f5d f02b23
이제 요청시 또는 응답 할 때 필터링 기능을 사용할 수 있습니다 ..!!
Reference
이 문제에 관하여(【초보자】Laravel의 미들웨어는), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tatsuya_1995/items/ad166e9bc7ee3969f1fc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)