好吧,要回答你的问题,你不需要解析这些,它们是请求的一部分,应该唯一地定义请求。例如,您有以下众所周知的示例:
# routing.yml:
dummy_page_homepage:
pattern: /hello/{name}
defaults: { _controller: DummyPageBundle:Default:index }
// DefaultController.php
public function indexAction($name)
{
return $this->render('DummyPageBundle:Default:index.html.twig', array('name' => $name));
}
看看 {name} 和 $name 如何匹配?这意味着 /hello/... 被解析并传递给 name 函数参数之后的任何内容,您可以根据需要使用它。如果您的请求 url 中只有 /hello 没有任何内容,那么您将找不到异常。路线是唯一的,参数的名称和数量定义了将采用的路线。
现在,根据您的问题,我想您希望拥有未知数量的此类参数。我认为这在 Symfony 中是不可能的。老实说,我认为在任何 MVC 框架中都不可能。我认为你选择了错误的方法。如果我是你,我会这样做。
首先,您似乎正在尝试将数据发送到服务器以获得某种插入/更新功能。看看 HTTP 标准,GET 请求应该按照它的名字做,从服务器获取一些东西而不修改它。这意味着您应该使用 POST 请求。如果是这种情况,您可以随意填充诸如 POST 变量之类的长变量并将它们发送到服务器而不会出现很多问题。然后,您可以使用服务器逻辑来获取和解析这些变量(Symfony 使用检索到的 Request 对象实例可以轻松获取 GET 或 POST 变量)。此外,我很确定(尽管不是 100%)您只能将有限数量的数据填充到 GET 变量中,并且请求部分本身的长度也是有限的。这就是为什么你应该使用 POST 变量。
希望这能让您对您的问题有另一种看法。如果您想进一步讨论它,只需拍摄。