如何在中间件重置路由

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7
public function handle($request, Closure $next) 
{
    if (!$request->get('foo')) {
        return redirect('/test2');
    }

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

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

7年前 评论

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

7年前 评论

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

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

这是JenkinsController.php中的代码


class JenkinsController extends Controller
{
    public function home(){

        //
    }
}

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

7年前 评论

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

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

return view($view)
7年前 评论

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

7年前 评论

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