L’OptionsResolver est mon nouvel ami depuis la 2.1, et je m’en sers assez souvent.
Ci-dessous un petit exemple de l’utilisation de l’OptionsResolver pour valider les paramètres passés en GET sur une action.
On peut être amené à faire ce genre de validation lors de la mise en place d’une API Rest par exemple.
L’idée est de pouvoir définir simplement une liste de paramètres obligatoires et d’autres facultatifs.
Ca donne quelque-chose comme ça :
Ca permet d’appeler l’url de l’action en question avec des querystring du type :
- ?email=john.doe@email.test&city=Montpellier
- ?city=Montpellier&email=john.doe@email.test
- ?email=john.doe@email.test&city=Montpellier&firstName=John&lastName=Doe
- ?email=john.doe@email.test&firstName=John&city=Montpellier
- Etc.
L’ordre des paramètres n’est pas important, seule leur présence est testée.
On peut aller plus loin en validant la valeur de certains paramètres, en définissant les valeurs par défaut, etc. La doc en parle mieux que moi 😉