1

我刚刚开始学习 lumen 微框架并且遇到了麻烦,因为我的中间件似乎不起作用。这是我的代码。

//defined middleware in route
    $app->get('/hello/{name}', ['middleware' => 'shield','uses' => 'Sampcontroller@show']);

//registered middleware in app.php
     $app->routeMiddleware([
        'shield' => App\Http\Middleware\Agemiddleware::class,
    ]);

这是中间件代码

  public function handle($request, Closure $next){
        if ($request->input('name') == "18") {
            echo "hate yew";
        }

        return $next($request); 
   }
}
4

1 回答 1

0

修正你的班级名称(只是为了约定)。AgeMiddleware(重命名文件和类)。

转到bootstrap/app.php并注册您的路由中间件

$app->routeMiddleware([
    'shield' => App\Http\Middleware\AgeMiddleware::class,
]);

确保将此代码段放在return语句上方。

点击/hello/18

如果这不起作用,则您可能在这条路线之上还有另一条路线获得/home/something获取请求。

于 2016-12-12T12:34:09.423 回答