3 votes

Comment utiliser un objet SymfonyStyle pour obtenir des options

Selon :

http://symfony.com/blog/new-in-symfony-2-8-console-style-guide

... Utiliser le nouveau guide de style dans vos commandes est aussi simple que d'instancier la classe SymfonyStyle, en lui passant les $input et $output de votre commande. ... Nous vous recommandons de nommer cette variable $io car vous l'utiliserez à la fois pour les opérations d'entrée et de sortie. ...

On peut utiliser une instance de SymfonyStyle pour gérer à la fois les opérations d'entrée et de sortie.

Ainsi, au lieu d'avoir une variable $input (instance de InputInterface) et une variable $output (instance de OutputInterface), on peut simplement utiliser un $io (instance de SymfonyStyle) pour gérer les deux types d'opérations.

Cela est très utile.

Mais que se passe-t-il avec la méthode getOption de l'interface InputInterface utilisée pour récupérer les options soumises par l'utilisateur ?

Il semble que $input->getOption(...) ne peut pas simplement être remplacé par $io->getOption(...) car la classe SymfonyStyle n'a pas cette méthode.

Existe-t-il un moyen de récupérer une option soumise par l'utilisateur en utilisant simplement une instance de SymfonyStyle ?

0voto

Matteo Points 24881

Il semble que vous ne puissiez capturer qu'une entrée interactive avec la classe SymfonyStyle avec la méthode askQuestion. Pour les arguments/options passés à la commande, vous devez utiliser la façon classique.

Vérifiez l'utilisation de la variable $input dans le code source de la classe ici sur le dépôt

J'espère que cela vous aidera

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X