Symfony2-Routing: Zwei optionale Parameter, - at least one erforderlich

Ich versuche, einige Routen in symfony2 für die folgenden Muster:

www.myaweseomesite.com/payment/customer/{customernumber}/{invoicenumber}

Beide Parameter sind optional - so dass die folgenden Szenarien muss:

www.myaweseomesite.com/payment/customer/{customerNumber}/{invoiceNumber}
www.myaweseomesite.com/payment/customer/{customerNumber}
www.myaweseomesite.com/payment/customer/{invoiceNumber}

Richte ich mein routing.yml nach der symfony2 doc.

payment_route:
pattern:  /payment/customer/{customerNumber}/{invoiceNumber}
defaults: { _controller: PaymentBundle:Index:payment, customerNumber: null,  invoiceNumber: null }
requirements:
    _method:  GET

Dieser funktioniert soweit Super. Das problem ist, dass, wenn die beiden Parameter fehlt oder leer ist, wird die route nicht arbeiten sollten. So

www.myaweseomesite.com/payment/customer/

nicht arbeiten sollten. Gibt es eine Möglichkeit, dies zu tun mit Symfony2?

  • Wie funktioniert die params Aussehen? Haben Sie Länge Spezifität oder nur die Ziffern ? Nur Buchstaben? Buchstaben und Ziffern? Denn wenn Sie beide in beliebiger Länge mit nur zahlen ist dies unmöglich, da man nicht wissen kann, was was ist.
  • customerNumber ist eine Ziffer, invoiceNumber ist ein string
InformationsquelleAutor marty | 2013-03-08
Schreibe einen Kommentar