PHP 8.3.31
Preview: ConfirmationQuestion.php Size: 1.48 KB
/home/getspomw/royalsquad.us/vendor/symfony/console/Question/ConfirmationQuestion.php

<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Console\Question;

/**
 * Represents a yes/no question.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ConfirmationQuestion extends Question
{
    /**
     * @param string $question        The question to ask to the user
     * @param bool   $default         The default answer to return, true or false
     * @param string $trueAnswerRegex A regex to match the "yes" answer
     */
    public function __construct(
        string $question,
        bool $default = true,
        private string $trueAnswerRegex = '/^y/i',
    ) {
        parent::__construct($question, $default);

        $this->setNormalizer($this->getDefaultNormalizer());
    }

    /**
     * Returns the default answer normalizer.
     */
    private function getDefaultNormalizer(): callable
    {
        $default = $this->getDefault();
        $regex = $this->trueAnswerRegex;

        return function ($answer) use ($default, $regex) {
            if (\is_bool($answer)) {
                return $answer;
            }

            $answerIsTrue = (bool) preg_match($regex, $answer);
            if (false === $default) {
                return $answer && $answerIsTrue;
            }

            return '' === $answer || $answerIsTrue;
        };
    }
}

Directory Contents

Dirs: 0 × Files: 4

Name Size Perms Modified Actions
5.00 KB lrw-rw-rw- 2025-09-17 06:53:23
Edit Download
1.48 KB lrw-rw-rw- 2025-09-17 06:53:23
Edit Download
4.00 KB lrw-r--r-- 2026-04-26 10:27:41
Edit Download
6.72 KB lrw-rw-rw- 2025-09-17 06:53:23
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).