Symfony-Routenparameter-Anforderungsbeschränkung

8

Wie erzwinge ich eine Anforderung, dass ein Parameter in einer Route eine Zeichenfolge sein soll?

Gegeben die Route

my_foobar_route:   URL: / Beispiel / Routing /: s1 /: ID   Anforderungen: {id: \ d +}

Kann mich irgendjemand daran erinnern, wie man param s1 dazu zwingt, eine Schnur zu sein?

    
morpheous 19.06.2010, 01:11
quelle

3 Antworten

12

Sie müssen nur einen geeigneten regulären Ausdruck angeben:

%Vor%

Bearbeiten : Angegebene Anführungszeichen um den zweiten regulären Ausdruck herum; YAML interpretiert [...] als ein Array von Parametern. Danke @chiborg : -)

    
richsage 19.06.2010, 11:08
quelle
4

Wenn es Ihnen egal ist, was die Zeichenfolge enthält oder wenn Sie nicht im Voraus wissen, was sie enthält, versuchen Sie Folgendes:

%Vor%

Dies ermöglicht alle Zeichen außer dem Zeichen '/', das als Trennzeichen für die Parameter verwendet wird. Mit dem Ausdruck

%Vor%

Sie könnten die Zeichenfolge zwingen, mindestens drei Zeichen lang zu sein.

Vergessen Sie nicht, Regexes mit eckigen Klammern in Anführungszeichen zu setzen! Wenn Sie sie vergessen, interpretiert der YAML-Parser für die Routen sie als Array-Ausdruck.

    
chiborg 26.05.2011 08:10
quelle
0

So ziemlich alles, was über die URL kommt, ist eine Zeichenkette - jede Anforderung ist stärker als diese, Sie müssen nichts tun, Ihr Parameter ist bereits eine Zeichenkette. Vielleicht möchten Sie eine speziell formatierte Zeichenfolge?

    
Maerlyn 19.06.2010 09:23
quelle

Tags und Links