@@ -2,11 +2,9 @@ Question Helper
22===============
33
44The :class: `Symfony\\ Component\\ Console\\ Helper\\ QuestionHelper ` provides
5- functions to ask the user for more information. It is included in the default
6- helper set and you can get it by calling
7- :method: `Symfony\\ Component\\ Console\\ Command\\ Command::getHelper `::
5+ functions to ask the user for more information::
86
9- $helper = $this->getHelper('question' );
7+ $helper = new QuestionHelper( );
108
119The Question Helper has a single method
1210:method: `Symfony\\ Component\\ Console\\ Helper\\ QuestionHelper::ask ` that needs an
@@ -27,6 +25,7 @@ Suppose you want to confirm an action before actually executing it. Add
2725the following to your command::
2826
2927 // ...
28+ use Symfony\Component\Console\Application;
3029 use Symfony\Component\Console\Attribute\AsCommand;
3130 use Symfony\Component\Console\Command\Command;
3231 use Symfony\Component\Console\Input\InputInterface;
@@ -38,7 +37,7 @@ the following to your command::
3837 {
3938 public function __invoke(InputInterface $input, OutputInterface $output): int
4039 {
41- $helper = $this->getHelper('question' );
40+ $helper = new QuestionHelper( );
4241 $question = new ConfirmationQuestion('Continue with this action?', false);
4342
4443 if (!$helper->ask($input, $output, $question)) {
@@ -91,7 +90,7 @@ if you want to know a bundle name, you can add this to your command::
9190 use Symfony\Component\Console\Question\Question;
9291
9392 // ...
94- public function execute (InputInterface $input, OutputInterface $output): int
93+ public function __invoke (InputInterface $input, OutputInterface $output): int
9594 {
9695 // ...
9796 $question = new Question('Please enter the name of the bundle', 'AcmeDemoBundle');
@@ -121,10 +120,10 @@ but ``red`` could be set instead (could be more explicit)::
121120 use Symfony\Component\Console\Question\ChoiceQuestion;
122121
123122 // ...
124- public function execute (InputInterface $input, OutputInterface $output): int
123+ public function __invoke (InputInterface $input, OutputInterface $output): int
125124 {
126125 // ...
127- $helper = $this->getHelper('question' );
126+ $helper = new QuestionHelper( );
128127 $question = new ChoiceQuestion(
129128 'Please select your favorite color (defaults to red)',
130129 // choices can also be PHP objects that implement __toString() method
@@ -184,10 +183,10 @@ this use :method:`Symfony\\Component\\Console\\Question\\ChoiceQuestion::setMult
184183 use Symfony\Component\Console\Question\ChoiceQuestion;
185184
186185 // ...
187- public function execute (InputInterface $input, OutputInterface $output): int
186+ public function __invoke (InputInterface $input, OutputInterface $output): int
188187 {
189188 // ...
190- $helper = $this->getHelper('question' );
189+ $helper = new QuestionHelper( );
191190 $question = new ChoiceQuestion(
192191 'Please select your favorite colors (defaults to red and blue)',
193192 ['red', 'blue', 'yellow'],
@@ -218,10 +217,10 @@ will be autocompleted as the user types::
218217 use Symfony\Component\Console\Question\Question;
219218
220219 // ...
221- public function execute (InputInterface $input, OutputInterface $output): int
220+ public function __invoke (InputInterface $input, OutputInterface $output): int
222221 {
223222 // ...
224- $helper = $this->getHelper('question' );
223+ $helper = new QuestionHelper( );
225224
226225 $bundles = ['AcmeDemoBundle', 'AcmeBlogBundle', 'AcmeStoreBundle'];
227226 $question = new Question('Please enter the name of a bundle', 'FooBundle');
@@ -241,9 +240,9 @@ provide a callback function to dynamically generate suggestions::
241240 use Symfony\Component\Console\Question\Question;
242241
243242 // ...
244- public function execute (InputInterface $input, OutputInterface $output): int
243+ public function __invoke (InputInterface $input, OutputInterface $output): int
245244 {
246- $helper = $this->getHelper('question' );
245+ $helper = new QuestionHelper( );
247246
248247 // This function is called whenever the input changes and new
249248 // suggestions are needed.
@@ -282,10 +281,10 @@ You can also specify if you want to not trim the answer by setting it directly w
282281 use Symfony\Component\Console\Question\Question;
283282
284283 // ...
285- public function execute (InputInterface $input, OutputInterface $output): int
284+ public function __invoke (InputInterface $input, OutputInterface $output): int
286285 {
287286 // ...
288- $helper = $this->getHelper('question' );
287+ $helper = new QuestionHelper( );
289288
290289 $question = new Question('What is the name of the child?');
291290 $question->setTrimmable(false);
@@ -308,10 +307,10 @@ the response to a question should allow multiline answers by passing ``true`` to
308307 use Symfony\Component\Console\Question\Question;
309308
310309 // ...
311- public function execute (InputInterface $input, OutputInterface $output): int
310+ public function __invoke (InputInterface $input, OutputInterface $output): int
312311 {
313312 // ...
314- $helper = $this->getHelper('question' );
313+ $helper = new QuestionHelper( );
315314
316315 $question = new Question('How do you solve world peace?');
317316 $question->setMultiline(true);
@@ -335,10 +334,10 @@ convenient for passwords::
335334 use Symfony\Component\Console\Question\Question;
336335
337336 // ...
338- public function execute (InputInterface $input, OutputInterface $output): int
337+ public function __invoke (InputInterface $input, OutputInterface $output): int
339338 {
340339 // ...
341- $helper = $this->getHelper('question' );
340+ $helper = new QuestionHelper( );
342341
343342 $question = new Question('What is the database password?');
344343 $question->setHidden(true);
@@ -372,10 +371,10 @@ convenient for passwords::
372371 use Symfony\Component\Console\Question\ChoiceQuestion;
373372
374373 // ...
375- public function execute (InputInterface $input, OutputInterface $output): int
374+ public function __invoke (InputInterface $input, OutputInterface $output): int
376375 {
377376 // ...
378- $helper = $this->getHelper('question' );
377+ $helper = new QuestionHelper( );
379378 QuestionHelper::disableStty();
380379
381380 // ...
@@ -396,10 +395,10 @@ method::
396395 use Symfony\Component\Console\Question\Question;
397396
398397 // ...
399- public function execute (InputInterface $input, OutputInterface $output): int
398+ public function __invoke (InputInterface $input, OutputInterface $output): int
400399 {
401400 // ...
402- $helper = $this->getHelper('question' );
401+ $helper = new QuestionHelper( );
403402
404403 $question = new Question('Please enter the name of the bundle', 'AcmeDemoBundle');
405404 $question->setNormalizer(function (string $value): string {
@@ -434,10 +433,10 @@ method::
434433 use Symfony\Component\Console\Question\Question;
435434
436435 // ...
437- public function execute (InputInterface $input, OutputInterface $output): int
436+ public function __invoke (InputInterface $input, OutputInterface $output): int
438437 {
439438 // ...
440- $helper = $this->getHelper('question' );
439+ $helper = new QuestionHelper( );
441440
442441 $question = new Question('Please enter the name of the bundle', 'AcmeDemoBundle');
443442 $question->setValidator(function (string $answer): string {
@@ -494,10 +493,10 @@ You can also use a validator with a hidden question::
494493 use Symfony\Component\Console\Question\Question;
495494
496495 // ...
497- public function execute (InputInterface $input, OutputInterface $output): int
496+ public function __invoke (InputInterface $input, OutputInterface $output): int
498497 {
499498 // ...
500- $helper = $this->getHelper('question' );
499+ $helper = new QuestionHelper( );
501500
502501 $question = new Question('Please enter your password');
503502 $question->setNormalizer(function (?string $value): string {
0 commit comments