Próbuję skonfigurować niektóre trasy w Symfony2 do poniższego schematu:Symfony2 Routing: Dwa opcjonalne parametry - przynajmniej jeden wymagany
www.myaweseomesite.com/payment/customer/{customernumber}/{invoicenumber}
Oba parametry są opcjonalne - tak następujące scenariusze muszą działać:
www.myaweseomesite.com/payment/customer/{customerNumber}/{invoiceNumber}
www.myaweseomesite.com/payment/customer/{customerNumber}
www.myaweseomesite.com/payment/customer/{invoiceNumber}
Skonfigurowałem mój routing.yml zgodnie z symfony2 doc.
payment_route:
pattern: /payment/customer/{customerNumber}/{invoiceNumber}
defaults: { _controller: PaymentBundle:Index:payment, customerNumber: null, invoiceNumber: null }
requirements:
_method: GET
Działa to świetnie do tej pory. Problem polega na tym, że jeśli oba parametry są puste lub puste, trasa nie powinna działać. Więc
www.myaweseomesite.com/payment/customer/
nie powinna działać. Czy jest jakiś sposób na zrobienie tego z Symfony2?
Jak wyglądają te parametry? Czy mają specyficzność długości, czy tylko cyfry? Tylko listy? Litery i cyfry? Ponieważ obie są dowolnej długości tylko cyframi, jest to niemożliwe, ponieważ nie możesz wiedzieć, która jest która. –
customerNumber to cyfra, numer faktury to ciąg znaków – marty