Lumen 9.x中间件中redirect类不存在,如何确保其正常加载?
解决Lumen 9.x中间件中找不到redirect类的问题
问题原因
Lumen 9.x作为轻量级框架,默认未启用Laravel的Redirect门面或全局redirect()助手函数,直接调用redirect()会触发容器查找不存在的redirect类,从而报错。
解决方案
方法1:使用Response响应的跳转方法(无需额外配置)
直接替换中间件中的跳转代码,利用Lumen默认启用的response()助手函数实现跳转:
public function handle($request, Closure $next, $guard = null) { if ($request->input('age') <= 200) { return response()->redirectTo('home'); } return $next($request); }
方法2:启用Redirect门面
- 打开项目根目录下的
bootstrap/app.php,取消注释以下代码,启用门面支持:
$app->withFacades();
- 在你的中间件文件顶部引入Redirect门面:
use Illuminate\Support\Facades\Redirect;
- 修改跳转代码为:
return Redirect::to('home');
方法3:直接从容器获取Redirect服务
无需启用门面,直接通过应用实例获取redirect服务完成跳转:
public function handle($request, Closure $next, $guard = null) { if ($request->input('age') <= 200) { return app('redirect')->to('home'); } return $next($request); }
内容的提问来源于stack exchange,提问作者elb98rm
相关产品推荐
相关产品推荐

