You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
PHP
39 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace jrosset\CliProgram;
|
|
|
|
use Symfony\Component\Console\Application;
|
|
use Symfony\Component\Console\Command\Command;
|
|
use Symfony\Component\Console\Input\InputInterface;
|
|
use Symfony\Component\Console\Output\OutputInterface;
|
|
use Throwable;
|
|
|
|
/**
|
|
* An application with a by-command {@see OutputInterface}
|
|
*/
|
|
class ApplicationWithCommandOutputInterface extends Application {
|
|
/**
|
|
* Get the {@see OutputInterface} for a command
|
|
*
|
|
* @param Command $command The command
|
|
* @param InputInterface $input The input
|
|
* @param OutputInterface $output The existing output
|
|
*
|
|
* @return OutputInterface The output for the command
|
|
*
|
|
* @throws Throwable On error
|
|
*
|
|
* @noinspection PhpUnusedParameterInspection
|
|
*/
|
|
protected function getOutputInterfaceForCommand (Command $command, InputInterface $input, OutputInterface $output): OutputInterface {
|
|
return $output;
|
|
}
|
|
|
|
/**
|
|
* @inheritDoc
|
|
* @throws Throwable
|
|
*/
|
|
protected function doRunCommand (Command $command, InputInterface $input, OutputInterface $output): int {
|
|
return parent::doRunCommand($command, $input, $this->getOutputInterfaceForCommand($command, $input, $output));
|
|
}
|
|
} |