【问题标题】:ReflectionException (-1) Class checkSession does not existReflectionException (-1) 类 checkSession 不存在
【发布时间】:2018-06-08 12:05:32
【问题描述】:

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

我已经搜索了关于 SO 的其他答案。但它们似乎都不适合我的情况。

我还仔细检查了 checkSession 类是否存在于具有正确命名空间的正确中间件目录中。我无法弄清楚为什么会发生错误。请帮忙。

【问题讨论】:

    标签: php laravel middleware


    【解决方案1】:

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

    如果你不注册中间件,它不会知道中间件应该在哪个路由上被激活。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-05-31
      • 2020-03-17
      • 1970-01-01
      • 2019-12-19
      • 2019-11-03
      • 1970-01-01
      • 2014-12-11
      • 2017-11-07
      • 1970-01-01
      相关资源
      最近更新 更多