如何在中间件重置路由

比如原本访问 /test,没有达到要求就直接跳转到路由 /test2
我不想用redirect,而是直接内部跳转,不知道是否可实现

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 7
public function handle($request, Closure $next) 
{
    if (!$request->get('foo')) {
        return redirect('/test2');
    }

    return $next($request);
}
9年前 评论

@overtrue 我知道这样做,但是这样会发生地址栏改变,我是不想让地址栏网址发生改变

9年前 评论

@裸奔的代码 想多了,地址改变怎么了?当然你可以直接 return view('template of test2'); 来结束

9年前 评论

HomeControlle.php控制器中的一个方法

public function jenkins(){
        $jenkins = new JenkinsController;
        echo $jenkins->home();
    }

这是JenkinsController.php中的代码


class JenkinsController extends Controller
{
    public function home(){

        //
    }
}

这是我的一个练手实例中用到的代码,应该能满足你的需求吧。

9年前 评论

@江边望海 这种做法我也有做过,但是如果路由很多的话那有点麻烦

9年前 评论
$view = condition ? 'test' : 'test2'

return view($view)
9年前 评论

楼主的需求是不是在 /test 中处理更合适些。

9年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!