我希望我可以问这个问题,而不需要详细说明为什么我需要这样做,
我有一条路线
/**
* @Route("/edit/{id}", name="my_edit_route")
*/
public function editAction()
{ /* ....... */ }
Run Code Online (Sandbox Code Playgroud)
现在在其他某个时间点,我有一个使用此路由生成的 URL(我只有字符串,没有其他信息可用)。字符串看起来像这样
/edit/23
Run Code Online (Sandbox Code Playgroud)
无论如何,在 Symfony2 中,我可以提供路由名称(例如“my_edit_route”和此 URL 字符串,并让 Symfony 提取参数。(例如 id=23)
ps 我知道这可以使用正则表达式或其他工具来完成,但我的应用程序中的实际路线更加复杂。
我确信这对 Symfony2 来说应该不会太困难,因为它每次从 URL 中提取参数来处理请求时都已经这样做了。
你不需要路由名称
$params = $this->get('router')->match('/edit/23');
Run Code Online (Sandbox Code Playgroud)
返回$params为:
array(
'id' => '23',
'_controller' => 'AppBundle:Blog:show',
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2746 次 |
| 最近记录: |