2016-07-21 7 views
2

I Routen in routing.yml-Datei definiert wurdeSymfony2 Routenparameter erhalten nur, wenn integer

eine Route ist:

Profile_user_profile: 
    path: /profile/{id} 
    defaults: { _controller: ProfileBundle:Users:profile } 
    methods: [get] 

und die zweite ist:

Profile_accept_connection_proposal: 
    path: /profile/acceptProposal 
    defaults: { _controller:ProfileBundle:Users:acceptConnectionProposal } 
    methods: [put] 

Erste Route ohne Methoden: [Get] höre auch und [put] Anfrage und fangen zweite URL, bevor es zu route Definition. Gibt es eine Möglichkeit, die Überprüfung auf Parameter nur zu definieren, wenn URL numerisch ist.

Antwort

4

Fügen Sie einfach die requirements Parameter nur Ziffern für eine bestimmte Route so akzeptieren:

Profile_user_profile: 
    path: /profile/{id} 
    defaults: { _controller: ProfileBundle:Users:profile } 
    methods: [get] 
    requirements: <--- ADDED PARAMETER 
     id: \d+ 

Weitere Infos der Symfony book about Routing lesen. Dort finden Sie weiterführende Beispiele zur Verwendung von Routenparametern.