如何通过实战掌握ThinkPHP中间件自动加载机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计828个文字,预计阅读时间需要4分钟。
ThinkPHP 6 没有启用中间件自动加载——app/middleware.php 必须存在、必须返回数组、必须显式列出类名,否则中间件不会自动注册。
中间件类文件放哪才被自动加载
中间件类本身走的是 Composer PSR-4 自动加载机制,但前提是路径和命名空间完全合规:
- 文件必须放在
app/middleware/目录下(不能是app/Middlewares或app/middleware/Auth) - 文件名必须与类名严格一致,比如
CheckAuth.php→class CheckAuth - 命名空间必须是
app\middleware(不是app\Middlewares、App\Middleware或省略) - 类需继承
think\middleware或直接实现__invoke方法
漏掉任一条件,运行时就会报 Class "app\middleware\CheckAuth" not found,而不是“没生效”。
本文共计828个文字,预计阅读时间需要4分钟。
ThinkPHP 6 没有启用中间件自动加载——app/middleware.php 必须存在、必须返回数组、必须显式列出类名,否则中间件不会自动注册。
中间件类文件放哪才被自动加载
中间件类本身走的是 Composer PSR-4 自动加载机制,但前提是路径和命名空间完全合规:
- 文件必须放在
app/middleware/目录下(不能是app/Middlewares或app/middleware/Auth) - 文件名必须与类名严格一致,比如
CheckAuth.php→class CheckAuth - 命名空间必须是
app\middleware(不是app\Middlewares、App\Middleware或省略) - 类需继承
think\middleware或直接实现__invoke方法
漏掉任一条件,运行时就会报 Class "app\middleware\CheckAuth" not found,而不是“没生效”。

