[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/libraries/vendor/symfony/console/ -> SingleCommandApplication.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of the Symfony package.
   5   *
   6   * (c) Fabien Potencier <[email protected]>
   7   *
   8   * For the full copyright and license information, please view the LICENSE
   9   * file that was distributed with this source code.
  10   */
  11  
  12  namespace Symfony\Component\Console;
  13  
  14  use Symfony\Component\Console\Command\Command;
  15  use Symfony\Component\Console\Input\InputInterface;
  16  use Symfony\Component\Console\Output\OutputInterface;
  17  
  18  /**
  19   * @author GrĂ©goire Pineau <[email protected]>
  20   */
  21  class SingleCommandApplication extends Command
  22  {
  23      private $version = 'UNKNOWN';
  24      private $autoExit = true;
  25      private $running = false;
  26  
  27      /**
  28       * @return $this
  29       */
  30      public function setVersion(string $version): self
  31      {
  32          $this->version = $version;
  33  
  34          return $this;
  35      }
  36  
  37      /**
  38       * @final
  39       *
  40       * @return $this
  41       */
  42      public function setAutoExit(bool $autoExit): self
  43      {
  44          $this->autoExit = $autoExit;
  45  
  46          return $this;
  47      }
  48  
  49      public function run(InputInterface $input = null, OutputInterface $output = null): int
  50      {
  51          if ($this->running) {
  52              return parent::run($input, $output);
  53          }
  54  
  55          // We use the command name as the application name
  56          $application = new Application($this->getName() ?: 'UNKNOWN', $this->version);
  57          $application->setAutoExit($this->autoExit);
  58          // Fix the usage of the command displayed with "--help"
  59          $this->setName($_SERVER['argv'][0]);
  60          $application->add($this);
  61          $application->setDefaultCommand($this->getName(), true);
  62  
  63          $this->running = true;
  64          try {
  65              $ret = $application->run($input, $output);
  66          } finally {
  67              $this->running = false;
  68          }
  69  
  70          return $ret ?? 1;
  71      }
  72  }


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer