summaryrefslogtreecommitdiff
path: root/vendor/symfony/console/SingleCommandApplication.php
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2024-08-13 23:45:21 +0200
committerpolo <ordipolo@gmx.fr>2024-08-13 23:45:21 +0200
commitbf6655a534a6775d30cafa67bd801276bda1d98d (patch)
treec6381e3f6c81c33eab72508f410b165ba05f7e9c /vendor/symfony/console/SingleCommandApplication.php
parent94d67a4b51f8e62e7d518cce26a526ae1ec48278 (diff)
downloadAppliGestionPHP-bf6655a534a6775d30cafa67bd801276bda1d98d.zip
VERSION 0.2 doctrine ORM et entités
Diffstat (limited to 'vendor/symfony/console/SingleCommandApplication.php')
-rw-r--r--vendor/symfony/console/SingleCommandApplication.php72
1 files changed, 72 insertions, 0 deletions
diff --git a/vendor/symfony/console/SingleCommandApplication.php b/vendor/symfony/console/SingleCommandApplication.php
new file mode 100644
index 0000000..ff1c172
--- /dev/null
+++ b/vendor/symfony/console/SingleCommandApplication.php
@@ -0,0 +1,72 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Console;
13
14use Symfony\Component\Console\Command\Command;
15use Symfony\Component\Console\Input\InputInterface;
16use Symfony\Component\Console\Output\OutputInterface;
17
18/**
19 * @author Grégoire Pineau <lyrixx@lyrixx.info>
20 */
21class SingleCommandApplication extends Command
22{
23 private string $version = 'UNKNOWN';
24 private bool $autoExit = true;
25 private bool $running = false;
26
27 /**
28 * @return $this
29 */
30 public function setVersion(string $version): static
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): static
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}