もくじ
Middlewareとは
beforeとafterを指定できる
Middlewareの実装方法
functionで実装するかClassで実装するかがあるけどクラスで実装したほうがいいだろう
<?php use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ResponseInterface as Response; class ExampleMiddleware { public function __invoke(Request $request, Response $response, $next) { beforeにやる処理 $response = $next($request, $response); afterにやる処理 return $response; } }
Middlewareの利用方法
全体で使う
$app = new \Slim\App(); $app->add(new ExampleMiddleware());
特定のルートでだけ使う
$app = new \Slim\App(); $app->get('/', ...)->add(new ExampleMiddleware);
グループに定義
$app->group('/utils', function() use ($app) { $app->get('/date', ...); })->add(new ExampleMiddleware());
この場合 GET /utils/date
にだけ適応される