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. | ||
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 |
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
Application |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Console/Application.html