我知道如何在$app
中添加多个中间件类:
$app->add( new Middlewares\VerifyCsrfToken() );
$app->add( new Middlewares\RemoveTrailingSlash() );
但路线怎么样?
$app->get('/', function($request, $response){
return $response;
})->add( new Middlewares\VerifyCsrfToken() )
->add( new Middlewares\RemoveTrailingSlash() );
答案 0 :(得分:7)
如评论中所述,add()
会返回Route
对象的实例,因此您只需将多个add()
链接在一起即可。
此unit test显示了如何执行此操作:
$app = new App();
$app->get('/', function ($req, $res) {
return $res->write('Center');
})->add(function ($req, $res, $next) {
$res->write('In1');
$res = $next($req, $res);
$res->write('Out1');
return $res;
})->add(function ($req, $res, $next) {
$res->write('In2');
$res = $next($req, $res);
$res->write('Out2');
return $res;
});