ReflectionException(-1)类checkSession不存在

时间:2018-06-08 12:05:32

标签: php laravel middleware

我有一个中间件checkSession用于检查我的Laravel项目中的会话。但是,在使用php artisan serve为Laravel项目提供服务时,该项目已成功提供。但是,在使用Web应用程序时,会抛出此错误ReflectionException (-1) Class checkSession does not exist

我在SO上搜索了其他答案。但它们似乎都不适合我的情况。

我还仔细检查了checkSession类是否存在于具有正确名称空间的正确Middleware目录中。我无法弄清楚错误发生的原因。请帮助。

1 个答案:

答案 0 :(得分:0)

您应该错过注册中间件。在定义中间件之后,您应该将其注册到特定路由或一组路由,或者将所有HTTP请求注册到您的应用程序。

如果您没有注册中间件,它将不知道应该在哪条路由上激活中间件。

如果要为应用程序中的所有路由注册中间件,请将checkSession添加到$middleware文件中的/app/Http/Kernel.php属性。

否则,如果要激活某些路由的中间件,请将密钥与中间件相关联,并将其添加到上述文件中$routeMiddleware属性中的现有中间件。

例如将其附加到$routeMiddleware变量:'checkSession' => \App\Http\Middleware\checkSession::class,现在,您可以使用此checkSession密钥将此中间件与路由定义中的特定路由相关联。

我强烈建议您在实施前阅读文档。 (https://laravel.com/docs/5.6/middleware#registering-middleware