我知道我的问题很简单,但我会问它:希望有人可以给我一个提示。Symfony2基本的URL路由问题
我正在使用Symfony2重写PHP Web应用程序。我需要的是执行对数据库对象的CRUD操作(其中有一个主键和另外两个领域,被称为field1
和field2
)
在我的旧网络的软件,我用回忆这个网址:
http://myhost/updateProduct.php?id=foo&field1=value1&field2=value2
调用updateProduct.php
脚本更新id = foo的对象,将field1的value1设置为field2的value2。
现在我愿意使用Symfony2控制器来完成这项工作......我不知道应该为此设置哪个路由。我的控制器是ProductController
,它嵌入了一个updateAction($id,$field1,$field2)
方法。
我试图像(阳明语法):
myBundle_update:
pattern: /product/update/{id}/field1={value1}&field2={value2}
defaults: { _controller: TestMyBundle:Product:update }
,但它不工作。
所以我的问题是:我错误的路由语法(如果是这样,哪个是正确的)?或者有什么我错过了如何正确地将请求参数分配给控制器?
在此先感谢
您提到的模式是有效的,我一直在考虑使用它。但是我想用某种“用户友好”的URL来指定字段名称,这种或那种方式。没有任何方法可以转义Symfony2路由中的&和=字符吗? – csparpa
你可以尝试一些对需求增加的格局是这样 要求: 值1:“[^&] +” 因此它将停止当它找到的第一个和 – kufi
&和=可百分比编码(搜索%26和%3D),并且路线不会中断,但Symfony2路由器不会匹配它们(因为它会尝试从字面上匹配%26和%3D)。 – Adrian