Symfony2 de Routage: les Deux paramètres facultatifs - au moins un

Je suis en train de mettre en place des itinéraires dans symfony2 pour le motif suivant:

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

Les deux paramètres sont facultatifs - donc les scénarios suivants doivent travailler:

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

Je mettre en place mon routage.yml selon la symfony2 doc.

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

Cela fonctionne très bien jusqu'à présent. Le problème est que, si les deux paramètres sont manquants ou vide, la route ne doit pas travailler. Donc

www.myaweseomesite.com/payment/customer/

ne devraient pas travailler. Est-il possible de faire cela avec Symfony2?

Comment les params? Ont-ils la longueur de la spécificité ou juste des chiffres ? Juste des lettres? Des lettres et des chiffres? Parce que si ils sont à la fois de toute la longueur avec uniquement des chiffres, c'est impossible, puisque vous ne pouvez pas savoir qui est qui.
customerNumber est un chiffre, invoiceNumber est une chaîne de caractères

OriginalL'auteur marty | 2013-03-08