Il peut être intéressant dans certains cas de fournir une option globale à toutes les commandes de la console symfony, nous allons voir qu’il est très simple de créer ce type d’option à l’aide d’un listener.
Création du listener
Comme je viens de le mentionner, pour créer l’option il suffit de créer un listener. Le listener doit écouter l’événement console.command
. Créons donc cette classe :
Et c’est tout, lorsque vous voudrez invoquer n’importe quelle commande, qu’elle soit mise à disposition par symfony ou qu’elle soit de votre création, l’option --locale
pourra être renseignée.
Vous pouvez faire le test en appelant app/console help help
, la dernière option de la liste affichée sera --locale
.
Pour accéder à la valeur de cette option, il suffira de faire comme d’habitude : $input->getOption('locale');
dans n’importe quelle classe définissant une commande.