You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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门面

  1. 打开项目根目录下的bootstrap/app.php,取消注释以下代码,启用门面支持:
$app->withFacades();
  1. 在你的中间件文件顶部引入Redirect门面:
use Illuminate\Support\Facades\Redirect;
  1. 修改跳转代码为:
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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 13:45:29