class Input implements InputInterface

Input is the base class for all concrete Input classes.

Three concrete classes are provided by default:

  • ArgvInput: The input comes from the CLI arguments (argv)
  • StringInput: The input is provided as a string
  • ArrayInput: The input is provided as an array

Methods

__construct(InputDefinition $definition = null)

Constructor.

bind(InputDefinition $definition)

Binds the current Input instance with the given arguments and options.

validate()

Validates the input.

bool
isInteractive()

Checks if the input is interactive.

setInteractive(bool $interactive)

Sets the input interactivity.

array
getArguments()

Returns the argument values.

mixed
getArgument(string $name)

Returns the argument value for a given argument name.

setArgument(string $name, string $value)

Sets an argument value by name.

bool
hasArgument(string|int $name)

Returns true if an InputArgument object exists by name or position.

array
getOptions()

Returns the options values.

mixed
getOption(string $name)

Returns the option value for a given option name.

setOption(string $name, string|bool $value)

Sets an option value by name.

bool
hasOption(string $name)

Returns true if an InputOption object exists by name.

string
escapeToken(string $token)

Escapes a token through escapeshellarg if it contains unsafe chars.

Details

at line line 43
__construct(InputDefinition $definition = null)

Constructor.

Parameters

InputDefinition $definition A InputDefinition instance

at line line 58
bind(InputDefinition $definition)

Binds the current Input instance with the given arguments and options.

Parameters

InputDefinition $definition A InputDefinition instance

at line line 77
validate()

Validates the input.

Exceptions

RuntimeException When not enough arguments are given

at line line 96
bool isInteractive()

Checks if the input is interactive.

Return Value

bool

at line line 106
setInteractive(bool $interactive)

Sets the input interactivity.

Parameters

bool $interactive If the input should be interactive

at line line 116
array getArguments()

Returns the argument values.

Return Value

array

at line line 130
mixed getArgument(string $name)

Returns the argument value for a given argument name.

Parameters

string $name The name of the argument

Return Value

mixed

Exceptions

InvalidArgumentException When argument given doesn't exist

at line line 147
setArgument(string $name, string $value)

Sets an argument value by name.

Parameters

string $name The argument name
string $value The argument value

Exceptions

InvalidArgumentException When argument given doesn't exist

at line line 163
bool hasArgument(string|int $name)

Returns true if an InputArgument object exists by name or position.

Parameters

string|int $name The InputArgument name or position

Return Value

bool true if the InputArgument object exists, false otherwise

at line line 173
array getOptions()

Returns the options values.

Return Value

array

at line line 187
mixed getOption(string $name)

Returns the option value for a given option name.

Parameters

string $name The name of the option

Return Value

mixed

Exceptions

InvalidArgumentException When option given doesn't exist

at line line 204
setOption(string $name, string|bool $value)

Sets an option value by name.

Parameters

string $name The option name
string|bool $value The option value

Exceptions

InvalidArgumentException When option given doesn't exist

at line line 220
bool hasOption(string $name)

Returns true if an InputOption object exists by name.

Parameters

string $name The InputOption name

Return Value

bool true if the InputOption object exists, false otherwise

at line line 232
string escapeToken(string $token)

Escapes a token through escapeshellarg if it contains unsafe chars.

Parameters

string $token

Return Value

string