Ich versuche, einige Routen in Symfony2 für das folgende Muster einzurichten:Symfony2 Routing: Zwei optionale Parameter - mindestens eine erforderliche
www.myaweseomesite.com/payment/customer/{customernumber}/{invoicenumber}
Beide Parameter sind optional - so die folgenden Szenarien arbeiten müssen:
www.myaweseomesite.com/payment/customer/{customerNumber}/{invoiceNumber}
www.myaweseomesite.com/payment/customer/{customerNumber}
www.myaweseomesite.com/payment/customer/{invoiceNumber}
Ich habe meine routing.yml nach der symfony2 doc eingerichtet.
payment_route:
pattern: /payment/customer/{customerNumber}/{invoiceNumber}
defaults: { _controller: PaymentBundle:Index:payment, customerNumber: null, invoiceNumber: null }
requirements:
_method: GET
Dies funktioniert bisher sehr gut. Das Problem ist, dass wenn beide Parameter fehlen oder leer sind, die Route nicht funktionieren sollte. Also
www.myaweseomesite.com/payment/customer/
sollte nicht funktionieren. Gibt es eine Möglichkeit, dies mit Symfony2 zu tun?
Wie funktioniert die params aussehen? Haben sie Längenspezifität oder nur Ziffern? Nur Briefe? Buchstaben und Ziffern? Denn wenn sie beide eine beliebige Länge mit nur Ziffern haben, ist das unmöglich, da Sie nicht wissen können, welches was ist. –
customer ist eine Ziffer, InvoiceNumber eine Zeichenfolge ist – marty