On this page
Application
class Application
An Application is the container for a collection of commands.
It is the main entry point of a Console application.
This class is optimized for a standard CLI environment.
Usage:
$app = new Application('myapp', '1.0 (stable)');
$app->add(new SimpleCommand());
$app->run();
Methods
__construct(string $name = 'UNKNOWN', string $version = 'UNKNOWN') Constructor. |
||
setDispatcher(EventDispatcherInterface $dispatcher) | ||
int | run(InputInterface $input = null, OutputInterface $output = null) Runs the current application. |
|
int | doRun(InputInterface $input, OutputInterface $output) Runs the current application. |
|
setHelperSet(HelperSet $helperSet) Set a helper set to be used with the command. |
||
HelperSet | getHelperSet() Get the helper set associated with the command. |
|
setDefinition(InputDefinition $definition) Set an input definition set to be used with this application. |
||
InputDefinition | getDefinition() Gets the InputDefinition related to this Application. |
|
string | getHelp() Gets the help message. |
|
setCatchExceptions(bool $boolean) Sets whether to catch exceptions or not during commands execution. |
||
setAutoExit(bool $boolean) Sets whether to automatically exit after a command execution or not. |
||
string | getName() Gets the name of the application. |
|
setName(string $name) Sets the application name. |
||
string | getVersion() Gets the application version. |
|
setVersion(string $version) Sets the application version. |
||
string | getLongVersion() Returns the long version of the application. |
|
Command | register(string $name) Registers a new command. |
|
addCommands(array $commands) Adds an array of command objects. |
||
Command | add(Command $command) Adds a command object. |
|
Command | get(string $name) Returns a registered command by name or alias. |
|
bool | has(string $name) Returns true if the command exists, false otherwise. |
|
array | getNamespaces() Returns an array of all unique namespaces used by currently registered commands. |
|
string | findNamespace(string $namespace) Finds a registered namespace by a name or an abbreviation. |
|
Command | find(string $name) Finds a command by name or alias. |
|
Command[] | all(string $namespace = null) Gets the commands (registered in the given namespace if provided). |
|
static array | getAbbreviations(array $names) Returns an array of possible abbreviations given a set of names. |
|
renderException(Exception $e, OutputInterface $output) Renders a caught exception. |
||
array | getTerminalDimensions() Tries to figure out the terminal dimensions based on the current environment. |
|
Application | setTerminalDimensions(int $width, int $height) Sets terminal dimensions. |
|
string | extractNamespace(string $name, string $limit = null) Returns the namespace part of the command name. |
|
setDefaultCommand(string $commandName) Sets the default Command name. |
Details
__construct(string $name = 'UNKNOWN', string $version = 'UNKNOWN')
Constructor.
Parameters
string | $name | The name of the application |
string | $version | The version of the application |
setDispatcher(EventDispatcherInterface $dispatcher)
Parameters
EventDispatcherInterface | $dispatcher |
int run(InputInterface $input = null, OutputInterface $output = null)
Runs the current application.
Parameters
InputInterface | $input | An Input instance |
OutputInterface | $output | An Output instance |
Return Value
int | 0 if everything went fine, or an error code |
Exceptions
Exception | When doRun returns Exception |
int doRun(InputInterface $input, OutputInterface $output)
Runs the current application.
Parameters
InputInterface | $input | An Input instance |
OutputInterface | $output | An Output instance |
Return Value
int | 0 if everything went fine, or an error code |
setHelperSet(HelperSet $helperSet)
Set a helper set to be used with the command.
Parameters
HelperSet | $helperSet | The helper set |
HelperSet getHelperSet()
Get the helper set associated with the command.
Return Value
HelperSet | The HelperSet instance associated with this command |
setDefinition(InputDefinition $definition)
Set an input definition set to be used with this application.
Parameters
InputDefinition | $definition | The input definition |
InputDefinition getDefinition()
Gets the InputDefinition related to this Application.
Return Value
InputDefinition | The InputDefinition instance |
string getHelp()
Gets the help message.
Return Value
string | A help message. |
setCatchExceptions(bool $boolean)
Sets whether to catch exceptions or not during commands execution.
Parameters
bool | $boolean | Whether to catch exceptions or not during commands execution |
setAutoExit(bool $boolean)
Sets whether to automatically exit after a command execution or not.
Parameters
bool | $boolean | Whether to automatically exit after a command execution or not |
string getName()
Gets the name of the application.
Return Value
string | The application name |
setName(string $name)
Sets the application name.
Parameters
string | $name | The application name |
string getVersion()
Gets the application version.
Return Value
string | The application version |
setVersion(string $version)
Sets the application version.
Parameters
string | $version | The application version |
string getLongVersion()
Returns the long version of the application.
Return Value
string | The long application version |
Command register(string $name)
Registers a new command.
Parameters
string | $name | The command name |
Return Value
Command | The newly created command |
addCommands(array $commands)
Adds an array of command objects.
Parameters
array | $commands | An array of commands |
Command add(Command $command)
Adds a command object.
If a command with the same name already exists, it will be overridden.
Parameters
Command | $command | A Command object |
Return Value
Command | The registered command |
Command get(string $name)
Returns a registered command by name or alias.
Parameters
string | $name | The command name or alias |
Return Value
Command | A Command object |
Exceptions
CommandNotFoundException | When command name given does not exist |
bool has(string $name)
Returns true if the command exists, false otherwise.
Parameters
string | $name | The command name or alias |
Return Value
bool | true if the command exists, false otherwise |
array getNamespaces()
Returns an array of all unique namespaces used by currently registered commands.
It does not returns the global namespace which always exists.
Return Value
array | An array of namespaces |
string findNamespace(string $namespace)
Finds a registered namespace by a name or an abbreviation.
Parameters
string | $namespace | A namespace or abbreviation to search for |
Return Value
string | A registered namespace |
Exceptions
CommandNotFoundException | When namespace is incorrect or ambiguous |
Command find(string $name)
Finds a command by name or alias.
Contrary to get, this command tries to find the best match if you give it an abbreviation of a name or alias.
Parameters
string | $name | A command name or a command alias |
Return Value
Command | A Command instance |
Exceptions
CommandNotFoundException | When command name is incorrect or ambiguous |
Command[] all(string $namespace = null)
Gets the commands (registered in the given namespace if provided).
The array keys are the full names and the values the command instances.
Parameters
string | $namespace | A namespace name |
Return Value
Command[] | An array of Command instances |
static array getAbbreviations(array $names)
Returns an array of possible abbreviations given a set of names.
Parameters
array | $names | An array of names |
Return Value
array | An array of abbreviations |
renderException(Exception $e, OutputInterface $output)
Renders a caught exception.
Parameters
Exception | $e | An exception instance |
OutputInterface | $output | An OutputInterface instance |
array getTerminalDimensions()
Tries to figure out the terminal dimensions based on the current environment.
Return Value
array | Array containing width and height |
Application setTerminalDimensions(int $width, int $height)
Sets terminal dimensions.
Can be useful to force terminal dimensions for functional tests.
Parameters
int | $width | The width |
int | $height | The height |
Return Value
Application | The current application |
string extractNamespace(string $name, string $limit = null)
Returns the namespace part of the command name.
This method is not part of public API and should not be used directly.
Parameters
string | $name | The full name of the command |
string | $limit | The maximum number of parts of the namespace |
Return Value
string | The namespace of the command |
setDefaultCommand(string $commandName)
Sets the default Command name.
Parameters
string | $commandName | The Command name |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/Console/Application.html