我知道我的問題很簡單,但我會問它:希望有人可以給我一個提示。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