54 lines
1.6 KiB
PHP
54 lines
1.6 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Symfony MakerBundle package.
|
|
*
|
|
* (c) Fabien Potencier <fabien@symfony.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Symfony\Bundle\MakerBundle;
|
|
|
|
use Symfony\Component\Console\Command\Command;
|
|
use Symfony\Component\Console\Input\InputInterface;
|
|
|
|
/**
|
|
* Interface that all maker commands must implement.
|
|
*
|
|
* @method static string getCommandDescription()
|
|
*
|
|
* @author Ryan Weaver <ryan@knpuniversity.com>
|
|
*/
|
|
interface MakerInterface
|
|
{
|
|
/**
|
|
* Return the command name for your maker (e.g. make:report).
|
|
*/
|
|
public static function getCommandName(): string;
|
|
|
|
/**
|
|
* Configure the command: set description, input arguments, options, etc.
|
|
*
|
|
* By default, all arguments will be asked interactively. If you want
|
|
* to avoid that, use the $inputConfig->setArgumentAsNonInteractive() method.
|
|
*/
|
|
public function configureCommand(Command $command, InputConfiguration $inputConfig);
|
|
|
|
/**
|
|
* Configure any library dependencies that your maker requires.
|
|
*/
|
|
public function configureDependencies(DependencyBuilder $dependencies);
|
|
|
|
/**
|
|
* If necessary, you can use this method to interactively ask the user for input.
|
|
*/
|
|
public function interact(InputInterface $input, ConsoleStyle $io, Command $command);
|
|
|
|
/**
|
|
* Called after normal code generation: allows you to do anything.
|
|
*/
|
|
public function generate(InputInterface $input, ConsoleStyle $io, Generator $generator);
|
|
}
|