Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
CommandTester.php
001 <?php
002
003 /*
004 * This file is part of the Symfony package.
005 *
006 * (c) Fabien Potencier <fabien@symfony.com>
007 *
008 * For the full copyright and license information, please view the LICENSE
009 * file that was distributed with this source code.
010 */
011
012 namespace Symfony\Component\Console\Tester;
013
014 use Symfony\Component\Console\Command\Command;
015 use Symfony\Component\Console\Input\ArrayInput;
016 use Symfony\Component\Console\Output\StreamOutput;
017 use Symfony\Component\Console\Input\InputInterface;
018 use Symfony\Component\Console\Output\OutputInterface;
019
020 /**
021 * Eases the testing of console commands.
022 *
023 * @author Fabien Potencier <fabien@symfony.com>
024 */
025 class CommandTester
026 {
027 private $command;
028 private $input;
029 private $output;
030 private $statusCode;
031
032 /**
033 * Constructor.
034 *
035 * @param Command $command A Command instance to test
036 */
037 public function __construct(Command $command)
038 {
039 $this->command = $command;
040 }
041
042 /**
043 * Executes the command.
044 *
045 * Available execution options:
046 *
047 * * interactive: Sets the input interactive flag
048 * * decorated: Sets the output decorated flag
049 * * verbosity: Sets the output verbosity flag
050 *
051 * @param array $input An array of command arguments and options
052 * @param array $options An array of execution options
053 *
054 * @return int The command exit code
055 */
056 public function execute(array $input, array $options = array())
057 {
058 // set the command name automatically if the application requires
059 // this argument and no command name was passed
060 if (!isset($input['command'])
061 && (null !== $application = $this->command->getApplication())
062 && $application->getDefinition()->hasArgument('command')
063 ) {
064 $input = array_merge(array('command' => $this->command->getName()), $input);
065 }
066
067 $this->input = new ArrayInput($input);
068 if (isset($options['interactive'])) {
069 $this->input->setInteractive($options['interactive']);
070 }
071
072 $this->output = new StreamOutput(fopen('php://memory', 'w', false));
073 if (isset($options['decorated'])) {
074 $this->output->setDecorated($options['decorated']);
075 }
076 if (isset($options['verbosity'])) {
077 $this->output->setVerbosity($options['verbosity']);
078 }
079
080 return $this->statusCode = $this->command->run($this->input, $this->output);
081 }
082
083 /**
084 * Gets the display returned by the last execution of the command.
085 *
086 * @param bool $normalize Whether to normalize end of lines to \n or not
087 *
088 * @return string The display
089 */
090 public function getDisplay($normalize = false)
091 {
092 rewind($this->output->getStream());
093
094 $display = stream_get_contents($this->output->getStream());
095
096 if ($normalize) {
097 $display = str_replace(PHP_EOL, "\n", $display);
098 }
099
100 return $display;
101 }
102
103 /**
104 * Gets the input instance used by the last execution of the command.
105 *
106 * @return InputInterface The current input instance
107 */
108 public function getInput()
109 {
110 return $this->input;
111 }
112
113 /**
114 * Gets the output instance used by the last execution of the command.
115 *
116 * @return OutputInterface The current output instance
117 */
118 public function getOutput()
119 {
120 return $this->output;
121 }
122
123 /**
124 * Gets the status code returned by the last execution of the application.
125 *
126 * @return int The status code
127 */
128 public function getStatusCode()
129 {
130 return $this->statusCode;
131 }
132 }
133