2013-08-20 5 views
0

URL에 변수를 보내고 싶지만 잘 모르겠습니다. url/page=1&element=a&...&...&...&.. 일반 심포니 URL을 사용하면 변수가 생성되지 않기 때문에 올바른 장소.URL 생성 [symfony 2]

나는 심포니의 기본 URL처럼 만든 :

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

을하지만, 예를 들어 전용 "E"를 보내는 경우 내 코드 "는이"

+0

URL의 매개 변수를 건너 뛸 수 없습니다. 이 URL이 어떻게 보이길 기대합니까? 라우터가 사용하려는 매개 변수를 어떻게 알 수 있습니까? – cheesemacfly

+0

이게 내가 symfony에서 어떻게하는지 묻는 이유입니다. 왜냐하면 PHP로 알고 있기 때문에 url/page = 1 & a = 2 & b = 3 등입니다. 각 변수는 URL에 정의되어 있지만 심포니는 없습니다. – Momo1987

+0

할 수 있습니다. Symfony에서도 마찬가지입니다. 경로를'pattern :/url'로 정의한 다음 컨트롤러 액션에서 원하는대로 매개 변수를 사용하십시오. 하지만이 경우 "깨끗한"URL을 사용하는 것은 불가능합니다 ... – cheesemacfly

답변

0

는 쿼리 매개 변수의 경우와 URL을 액세스를 같이 가져가 원하는 : /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처럼 URL을 생성하면됩니다. url 패턴에없는 모든 매개 변수는 쿼리 문자열에 추가됩니다. –

+0

네, 저도 작았습니다. 작은 질문이 있습니다. "라우팅은 매우 단순 해 보입니다."라고 말하는 것이 안전하지 않거나 무엇입니까? – Momo1987