2013-08-20 130 views
0

我想在url中發送變量,但我不知道如何發送它們,如下所示:url/page=1&element=a&...&...&...&.. 因爲當我使用正常的symfony url時,我沒有得到變量正確的地方。生成Url [symfony 2]

我做了symfony這樣的默認網址:

pattern: /url/{a}/{b}/{c}/{d}/{e} 

,但如果我只發送「E」例如我的代碼,把它作爲「一」

+0

您不能跳過url中的參數。你會如何期待網址看起來像?路由器怎麼知道你想用什麼參數? – cheesemacfly

+0

這是什麼我問如何在symfony中做到這一點,因爲我知道用PHP我發送例如url/page = 1&a = 2&b = 3等等,所以每個變量在url中定義,但與symfony沒有 – Momo1987

+0

你可以做在Symfony中也是一樣。將路徑定義爲'pattern:/ url',然後在控制器操作中根據需要使用參數。但在這種情況下使用「乾淨」的網址是不可能的... – cheesemacfly

回答

0

ACCES與查詢參數,如果網址你想要:/url?page=1&foo=bar。你的路由看起來那麼簡單

my_route: 
    pattern: /url 
    default: # bla 

在你的控制器動作(你要照顧上驗證值):

use Symfony\Component\HttpFoundation\Request; 

public function updateAction(Request $request) 
{ 
    $page = $request->query->get('page'); 
} 

如果你想有一個更清潔的方式,你應該看看ParamFetcher of the FOSRestBundle

+0

我如何發送每個變量的值? – Momo1987

+0

你的意思是什麼?如果您想生成一個url,只需生成它,就像其他所有值一樣。每個不在url模式中的參數都會被追加到查詢字符串中。 –

+0

是的,我做到了,我有一個小問題你的意思是「你的路由看起來很簡單」,這是不是安全或什麼? – Momo1987