abstract class Input implements InputInterface, StreamableInputInterface

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

Properties

protected $definition
protected $stream
protected $options
protected $arguments
protected $interactive

Methods

__construct(InputDefinition $definition = null)

No description

bind(InputDefinition $definition)

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

parse()

Processes command line arguments.

validate()

Validates the input.

bool
isInteractive()

Is this input means interactive?

setInteractive(bool $interactive)

Sets the input interactivity.

array
getArguments()

Returns all the given arguments merged with the default values.

string|string[]|null
getArgument(string $name)

Returns the argument value for a given argument name.

setArgument(string $name, string|string[]|null $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 all the given options merged with the default values.

string|string[]|bool|null
getOption(string $name)

Returns the option value for a given option name.

setOption(string $name, string|string[]|bool|null $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.

setStream(resource $stream)

Sets the input stream to read from when interacting with the user.

resource|null
getStream()

Returns the input stream.

Details

at line 36
__construct(InputDefinition $definition = null)

Parameters

InputDefinition $definition

at line 49
bind(InputDefinition $definition)

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

Parameters

InputDefinition $definition

Exceptions

RuntimeException

at line 61
abstract protected parse()

Processes command line arguments.

at line 66
validate()

Validates the input.

Exceptions

RuntimeException When not enough arguments are given

at line 83
bool isInteractive()

Is this input means interactive?

Return Value

bool

at line 91
setInteractive(bool $interactive)

Sets the input interactivity.

Parameters

bool $interactive If the input should be interactive

at line 99
array getArguments()

Returns all the given arguments merged with the default values.

Return Value

array

at line 107
string|string[]|null getArgument(string $name)

Returns the argument value for a given argument name.

Parameters

string $name The argument name

Return Value

string|string[]|null The argument value

Exceptions

InvalidArgumentException When argument given doesn't exist

at line 119
setArgument(string $name, string|string[]|null $value)

Sets an argument value by name.

Parameters

string $name The argument name
string|string[]|null $value The argument value

Exceptions

InvalidArgumentException When argument given doesn't exist

at line 131
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 139
array getOptions()

Returns all the given options merged with the default values.

Return Value

array

at line 147
string|string[]|bool|null getOption(string $name)

Returns the option value for a given option name.

Parameters

string $name The option name

Return Value

string|string[]|bool|null The option value

Exceptions

InvalidArgumentException When option given doesn't exist

at line 159
setOption(string $name, string|string[]|bool|null $value)

Sets an option value by name.

Parameters

string $name The option name
string|string[]|bool|null $value The option value

Exceptions

InvalidArgumentException When option given doesn't exist

at line 171
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 183
string escapeToken(string $token)

Escapes a token through escapeshellarg if it contains unsafe chars.

Parameters

string $token

Return Value

string

at line 191
setStream(resource $stream)

Sets the input stream to read from when interacting with the user.

This is mainly useful for testing purpose.

Parameters

resource $stream The input stream

at line 199
resource|null getStream()

Returns the input stream.

Return Value

resource|null