国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman的route()方法生成url,get參數(shù)的問(wèn)題

小天天天天

正在學(xué)習(xí)webman,我想生成一個(gè)帶不確定數(shù)量get參數(shù)的url

//定義了路由
Route::add(['GET','POST'],'/edit.html',[\app\controller\Admin\ArticleController::class,'edit'])->name('Admin:Article@edit');

我使用

route('Admin:Article@edit',['id'=>8,'uid'=>1,.......])
//生成的url是/edit.html沒有攜帶get參數(shù)

我希望生成/edit.html?id=8&uid=1&from=admin.....(很多不確定的get參數(shù)),應(yīng)該如何處理?

萌新一枚,希望各位大佬解答一下

2270 2 2
2個(gè)回答

Tinywan

get參數(shù)和路由沒關(guān)系

  • 小天天天天 2022-05-02

    怎么會(huì)沒有關(guān)系呢?route()方法無(wú)法生成get參數(shù)啊

  • 小天天天天 2022-05-02

    我嘗試了laravel的route()方法,是可以生成get參數(shù)的

小天天天天

我嘗試修改了Route.php的url方法:

/**
     * @param $parameters
     * @return string
     */
    public function url($parameters = [])
    {
        if (empty($parameters)) {
            return $this->_path;
        }
        $path = str_replace(['[', ']'], '', $this->_path);
        $path = preg_replace_callback('/\{(.*?)(?:\:[^\}]*?)*?\}/', function ($matches) use (&$parameters) {
            if (!$parameters) {
                return $matches[0];
            }
            if (isset($parameters[$matches[1]])) {
                $value = $parameters[$matches[1]];
                unset($parameters[$matches[1]]);
                return $value;
            }
            $key = key($parameters);
            if (is_int($key)) {
                $value = $parameters[$key];
                unset($parameters[$key]);
                return $value;
            }
            return $matches[0];
        }, $path);

        return count($parameters)>0?$path . '?' . http_build_query($parameters) : $path;

    }

現(xiàn)在可以將匹配后剩余的參數(shù)以?的形式綴在route()函數(shù)生成的URL后面,但是我不確定這種方法有沒有其他后遺癥

  • walkor 2022-05-03

    看起來(lái)沒問(wèn)題,你先本地先這樣改下,下個(gè)版本發(fā)布這個(gè)特性。

  • liziyu 2022-05-03

    期待!

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??