如何从把一个已有的 url 转为 request 或者 route 对象
0

假如有一个路由
/newReport/{aid}/{bid}

然后我有一个url 如下
a.com/newReport/75337/10

我如何取出 aid bid
最好是可以还原到路由 通过->route(aid)的方式
ps:不用正则

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 6

定义方法的时候传入 $aid $bid,与路由绑定的。

1年前
Route::get('/newReport/{aid}/{bid}', function($aid, $bid){
    dd($aid, $bid);
});
1年前

@施国鹏
@blackbai
两位可能理解错我的意思了,

现在有一个路由 Route::get('/newReport/{aid}/{bid}'

我的意思是我在一个方法(这个方法非上边的那个路由)内 有一个字符串a.com/newReport/75337/10

我想知道这个aid 和bid是多少

1年前
<?php

    $url = 'a.com/newReport/75337/10';
    $url = trim(strstr($url, '/'), '/');

    $param = explode('/', $url);

    $bid = end($param);
    array_pop($param);
    $aid = end($param);
    array_pop($param);

    // 拼接route
    $route = '/';
    foreach ($param as $v)
    {
        $route .= $v;
    }

    // 生成 url
         route($route, ['aid' => $aid, 'bid' => $bid]);

不是很明白详细, 这样是否符合?

1年前

@施国鹏 可以的,不过你这个跟正则是一个原理差不多,不管怎么说谢谢你了

1年前
leo

关键字 Illuminate\Routing\Router::findRoute,剩下的自己探索

1年前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!