Change the way the commands are declare, separate "generate" and "serve"

This commit is contained in:
Stéphane Goetz
2016-07-29 07:58:48 +02:00
parent 64edc31122
commit 341ec96cf8
5 changed files with 113 additions and 109 deletions

@ -5,45 +5,11 @@ use Symfony\Component\Console\Input\InputInterface;
class Application extends SymfonyApplication
{
/**
* Gets the name of the command based on input.
*
* @param InputInterface $input The input interface
*
* @return string The command name
*/
protected function getCommandName(InputInterface $input)
{
// This should return the name of your command.
return 'generate';
}
public function __construct($name = 'UNKNOWN', $version = 'UNKNOWN') {
parent::__construct($name, $version);
/**
* Gets the default commands that should always be available.
*
* @return array An array of default Command instances
*/
protected function getDefaultCommands()
{
// Keep the core default commands to have the HelpCommand
// which is used when using the --help option
$defaultCommands = parent::getDefaultCommands();
$defaultCommands[] = new Generate();
return $defaultCommands;
}
/**
* Overridden so that the application doesn't expect the command
* name to be the first argument.
*/
public function getDefinition()
{
$inputDefinition = parent::getDefinition();
// clear out the normal first argument, which is the command name
$inputDefinition->setArguments();
return $inputDefinition;
$this->add(new Generate());
$this->add(new Serve());
$this->setDefaultCommand('generate');
}
}