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') | ||
setDispatcher(EventDispatcherInterface $dispatcher) | ||
setCommandLoader(CommandLoaderInterface $commandLoader) | ||
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) | ||
HelperSet | getHelperSet() Get the helper set associated with the command. |
|
setDefinition(InputDefinition $definition) | ||
InputDefinition | getDefinition() Gets the InputDefinition related to this Application. |
|
string | getHelp() Gets the help message. |
|
bool | areExceptionsCaught() Gets whether to catch exceptions or not during commands execution. |
|
setCatchExceptions(bool $boolean) Sets whether to catch exceptions or not during commands execution. |
||
bool | isAutoExitEnabled() Gets whether to automatically exit after a command execution or not. |
|
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|null | 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. |
|
string[] | 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() deprecated Tries to figure out the terminal dimensions based on the current environment. |
|
$this | setTerminalDimensions(int $width, int $height) deprecated Sets terminal dimensions. |
|
string | extractNamespace(string $name, string $limit = null) Returns the namespace part of the command name. |
|
Application | setDefaultCommand(string $commandName, bool $isSingleCommand = false) Sets the default Command name. |
Details
__construct(string $name = 'UNKNOWN', string $version = 'UNKNOWN')
Parameters
string | $name | The name of the application |
string | $version | The version of the application |
setDispatcher(EventDispatcherInterface $dispatcher)
Parameters
EventDispatcherInterface | $dispatcher |
setCommandLoader(CommandLoaderInterface $commandLoader)
Parameters
CommandLoaderInterface | $commandLoader |
int run(InputInterface $input = null, OutputInterface $output = null)
Runs the current application.
Parameters
InputInterface | $input | |
OutputInterface | $output |
Return Value
int | 0 if everything went fine, or an error code |
Exceptions
Exception | When running fails. Bypass this when {@link setCatchExceptions()}. |
int doRun(InputInterface $input, OutputInterface $output)
Runs the current application.
Parameters
InputInterface | $input | |
OutputInterface | $output |
Return Value
int | 0 if everything went fine, or an error code |
setHelperSet(HelperSet $helperSet)
Parameters
HelperSet | $helperSet |
HelperSet getHelperSet()
Get the helper set associated with the command.
Return Value
HelperSet | The HelperSet instance associated with this command |
setDefinition(InputDefinition $definition)
Parameters
InputDefinition | $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 |
bool areExceptionsCaught()
Gets whether to catch exceptions or not during commands execution.
Return Value
bool | Whether to catch exceptions or not during commands execution |
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 |
bool isAutoExitEnabled()
Gets whether to automatically exit after a command execution or not.
Return Value
bool | Whether to automatically exit after a command execution or not |
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.
If a Command is not enabled it will not be added.
Parameters
array | $commands | An array of commands |
Command|null add(Command $command)
Adds a command object.
If a command with the same name already exists, it will be overridden. If the command is not enabled it will not be added.
Parameters
Command | $command |
Return Value
Command|null | The registered command if enabled or null |
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 given command name 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 |
string[] getNamespaces()
Returns an array of all unique namespaces used by currently registered commands.
It does not return the global namespace which always exists.
Return Value
string[] | 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 | |
OutputInterface | $output |
array getTerminalDimensions() deprecated
deprecated
since version 3.2, to be removed in 4.0. Create a Terminal instance instead.Tries to figure out the terminal dimensions based on the current environment.
Return Value
array | Array containing width and height |
$this setTerminalDimensions(int $width, int $height) deprecated
deprecated
since version 3.2, to be removed in 4.0. Set the COLUMNS and LINES env vars instead.Sets terminal dimensions.
Can be useful to force terminal dimensions for functional tests.
Parameters
int | $width | The width |
int | $height | The height |
Return Value
$this |
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 |
Application setDefaultCommand(string $commandName, bool $isSingleCommand = false)
Sets the default Command name.
Parameters
string | $commandName | The Command name |
bool | $isSingleCommand | Set to true if there is only one command in this application |
Return Value
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.4/Symfony/Component/Console/Application.html