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