Documentation

Application
in package
implements ResetInterface

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();
Tags
author

Fabien Potencier fabien@symfony.com

Table of Contents

Interfaces

ResetInterface
Provides a way to reset an object to its initial state.

Properties

$autoExit  : mixed
$catchExceptions  : mixed
$commandLoader  : mixed
$commands  : mixed
$defaultCommand  : mixed
$definition  : mixed
$dispatcher  : mixed
$helperSet  : mixed
$initialized  : mixed
$name  : mixed
$runningCommand  : mixed
$singleCommand  : mixed
$terminal  : mixed
$version  : mixed
$wantHelps  : mixed

Methods

__construct()  : mixed
add()  : Command|null
Adds a command object.
addCommands()  : mixed
Adds an array of command objects.
all()  : array<string|int, Command>
Gets the commands (registered in the given namespace if provided).
areExceptionsCaught()  : bool
Gets whether to catch exceptions or not during commands execution.
doRun()  : int
Runs the current application.
extractNamespace()  : string
Returns the namespace part of the command name.
find()  : Command
Finds a command by name or alias.
findNamespace()  : string
Finds a registered namespace by a name or an abbreviation.
get()  : Command
Returns a registered command by name or alias.
getAbbreviations()  : array<string|int, mixed>
Returns an array of possible abbreviations given a set of names.
getDefinition()  : InputDefinition
Gets the InputDefinition related to this Application.
getHelp()  : string
Gets the help message.
getHelperSet()  : HelperSet
Get the helper set associated with the command.
getLongVersion()  : string
Returns the long version of the application.
getName()  : string
Gets the name of the application.
getNamespaces()  : array<string|int, string>
Returns an array of all unique namespaces used by currently registered commands.
getVersion()  : string
Gets the application version.
has()  : bool
Returns true if the command exists, false otherwise.
isAutoExitEnabled()  : bool
Gets whether to automatically exit after a command execution or not.
register()  : Command
Registers a new command.
renderException()  : mixed
Renders a caught exception.
renderThrowable()  : void
reset()  : mixed
run()  : int
Runs the current application.
setAutoExit()  : mixed
Sets whether to automatically exit after a command execution or not.
setCatchExceptions()  : mixed
Sets whether to catch exceptions or not during commands execution.
setCommandLoader()  : mixed
setDefaultCommand()  : self
Sets the default Command name.
setDefinition()  : mixed
setDispatcher()  : mixed
setHelperSet()  : mixed
setName()  : mixed
Sets the application name.
setVersion()  : mixed
Sets the application version.
configureIO()  : mixed
Configures the input and output instances based on the user arguments and options.
doRenderException()  : mixed
doRenderThrowable()  : void
doRunCommand()  : int
Runs the current command.
getCommandName()  : string|null
Gets the name of the command based on input.
getDefaultCommands()  : array<string|int, Command>
Gets the default commands that should always be available.
getDefaultHelperSet()  : HelperSet
Gets the default helper set with the helpers that should always be available.
getDefaultInputDefinition()  : InputDefinition
Gets the default input definition.
doActuallyRenderThrowable()  : void
extractAllNamespaces()  : array<string|int, string>
Returns all namespaces of the command name.
findAlternatives()  : array<string|int, string>
Finds alternative of $name among $collection, if nothing is found in $collection, try in $abbrevs.
finishRenderThrowableOrException()  : void
getAbbreviationSuggestions()  : string
Returns abbreviated suggestions in string format.
init()  : mixed
splitStringByWidth()  : array<string|int, mixed>

Properties

$catchExceptions

private mixed $catchExceptions = true

Methods

__construct()

public __construct([string $name = 'UNKNOWN' ][, string $version = 'UNKNOWN' ]) : mixed
Parameters
$name : string = 'UNKNOWN'

The name of the application

$version : string = 'UNKNOWN'

The version of the application

add()

Adds a command object.

public add(Command $command) : Command|null

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 values
Command|null

The registered command if enabled or null

addCommands()

Adds an array of command objects.

public addCommands(array<string|int, Command$commands) : mixed

If a Command is not enabled it will not be added.

Parameters
$commands : array<string|int, Command>

An array of commands

all()

Gets the commands (registered in the given namespace if provided).

public all([string $namespace = null ]) : array<string|int, Command>

The array keys are the full names and the values the command instances.

Parameters
$namespace : string = null

A namespace name

Return values
array<string|int, Command>

An array of Command instances

areExceptionsCaught()

Gets whether to catch exceptions or not during commands execution.

public areExceptionsCaught() : bool
Return values
bool

Whether to catch exceptions or not during commands execution

extractNamespace()

Returns the namespace part of the command name.

public extractNamespace(string $name[, string $limit = null ]) : string

This method is not part of public API and should not be used directly.

Parameters
$name : string

The full name of the command

$limit : string = null

The maximum number of parts of the namespace

Return values
string

The namespace of the command

find()

Finds a command by name or alias.

public find(string $name) : Command

Contrary to get, this command tries to find the best match if you give it an abbreviation of a name or alias.

Parameters
$name : string

A command name or a command alias

Tags
throws
CommandNotFoundException

When command name is incorrect or ambiguous

Return values
Command

A Command instance

findNamespace()

Finds a registered namespace by a name or an abbreviation.

public findNamespace(string $namespace) : string
Parameters
$namespace : string

A namespace or abbreviation to search for

Tags
throws
NamespaceNotFoundException

When namespace is incorrect or ambiguous

Return values
string

A registered namespace

get()

Returns a registered command by name or alias.

public get(string $name) : Command
Parameters
$name : string

The command name or alias

Tags
throws
CommandNotFoundException

When given command name does not exist

Return values
Command

A Command object

getAbbreviations()

Returns an array of possible abbreviations given a set of names.

public static getAbbreviations(array<string|int, mixed> $names) : array<string|int, mixed>
Parameters
$names : array<string|int, mixed>

An array of names

Return values
array<string|int, mixed>

An array of abbreviations

getHelp()

Gets the help message.

public getHelp() : string
Return values
string

A help message

getHelperSet()

Get the helper set associated with the command.

public getHelperSet() : HelperSet
Return values
HelperSet

The HelperSet instance associated with this command

getLongVersion()

Returns the long version of the application.

public getLongVersion() : string
Return values
string

The long application version

getName()

Gets the name of the application.

public getName() : string
Return values
string

The application name

getNamespaces()

Returns an array of all unique namespaces used by currently registered commands.

public getNamespaces() : array<string|int, string>

It does not return the global namespace which always exists.

Return values
array<string|int, string>

An array of namespaces

getVersion()

Gets the application version.

public getVersion() : string
Return values
string

The application version

has()

Returns true if the command exists, false otherwise.

public has(string $name) : bool
Parameters
$name : string

The command name or alias

Return values
bool

true if the command exists, false otherwise

isAutoExitEnabled()

Gets whether to automatically exit after a command execution or not.

public isAutoExitEnabled() : bool
Return values
bool

Whether to automatically exit after a command execution or not

register()

Registers a new command.

public register(string $name) : Command
Parameters
$name : string

The command name

Return values
Command

The newly created command

renderException()

Renders a caught exception.

public renderException(Exception $e, OutputInterface $output) : mixed

since Symfony 4.4, use "renderThrowable()" instead

Parameters
$e : Exception
$output : OutputInterface

setAutoExit()

Sets whether to automatically exit after a command execution or not.

public setAutoExit(bool $boolean) : mixed
Parameters
$boolean : bool

Whether to automatically exit after a command execution or not

setCatchExceptions()

Sets whether to catch exceptions or not during commands execution.

public setCatchExceptions(bool $boolean) : mixed
Parameters
$boolean : bool

Whether to catch exceptions or not during commands execution

setDefaultCommand()

Sets the default Command name.

public setDefaultCommand(string $commandName[, bool $isSingleCommand = false ]) : self
Parameters
$commandName : string

The Command name

$isSingleCommand : bool = false

Set to true if there is only one command in this application

Return values
self

setName()

Sets the application name.

public setName(string $name) : mixed
Parameters
$name : string

The application name

setVersion()

Sets the application version.

public setVersion(string $version) : mixed
Parameters
$version : string

The application version

doRenderException()

protected doRenderException(Exception $e, OutputInterface $output) : mixed

since Symfony 4.4, use "doRenderThrowable()" instead

Parameters
$e : Exception
$output : OutputInterface

doRunCommand()

Runs the current command.

protected doRunCommand(Command $command, InputInterface $input, OutputInterface $output) : int

If an event dispatcher has been attached to the application, events are also dispatched during the life-cycle of the command.

Parameters
$command : Command
$input : InputInterface
$output : OutputInterface
Return values
int

0 if everything went fine, or an error code

getDefaultCommands()

Gets the default commands that should always be available.

protected getDefaultCommands() : array<string|int, Command>
Return values
array<string|int, Command>

An array of default Command instances

getDefaultHelperSet()

Gets the default helper set with the helpers that should always be available.

protected getDefaultHelperSet() : HelperSet
Return values
HelperSet

A HelperSet instance

extractAllNamespaces()

Returns all namespaces of the command name.

private extractAllNamespaces(string $name) : array<string|int, string>
Parameters
$name : string
Return values
array<string|int, string>

The namespaces of the command

findAlternatives()

Finds alternative of $name among $collection, if nothing is found in $collection, try in $abbrevs.

private findAlternatives(string $name, iterable<string|int, mixed> $collection) : array<string|int, string>
Parameters
$name : string
$collection : iterable<string|int, mixed>
Return values
array<string|int, string>

A sorted array of similar string

getAbbreviationSuggestions()

Returns abbreviated suggestions in string format.

private getAbbreviationSuggestions(array<string|int, mixed> $abbrevs) : string
Parameters
$abbrevs : array<string|int, mixed>
Return values
string

splitStringByWidth()

private splitStringByWidth(string $string, int $width) : array<string|int, mixed>
Parameters
$string : string
$width : int
Return values
array<string|int, mixed>

        
On this page

Search results