Documentation

ArgvInput extends Input
in package

ArgvInput represents an input coming from the CLI arguments.

Usage:

$input = new ArgvInput();

By default, the $_SERVER['argv'] array is used for the input values.

This can be overridden by explicitly passing the input values in the constructor:

$input = new ArgvInput($_SERVER['argv']);

If you pass it yourself, don't forget that the first element of the array is the name of the running application.

When passing an argument to the constructor, be sure that it respects the same rules as the argv one. It's almost always better to use the StringInput when you want to provide your own input.

Tags
author

Fabien Potencier fabien@symfony.com

see
http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html
see
http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html#tag_12_02

Table of Contents

$arguments  : mixed
$definition  : mixed
$interactive  : mixed
$options  : mixed
$stream  : mixed
$parsed  : mixed
$tokens  : mixed
__construct()  : mixed
__toString()  : string
Returns a stringified representation of the args passed to the command.
bind()  : mixed
Binds the current Input instance with the given arguments and options.
escapeToken()  : string
Escapes a token through escapeshellarg if it contains unsafe chars.
getArgument()  : mixed
Returns the argument value for a given argument name.
getArguments()  : array<string|int, string|bool|int|float|array|null>
Returns all the given arguments merged with the default values.
getFirstArgument()  : mixed
{@inheritdoc}
getOption()  : mixed
Returns the option value for a given option name.
getOptions()  : array<string|int, string|bool|int|float|array|null>
Returns all the given options merged with the default values.
getParameterOption()  : mixed
{@inheritdoc}
getStream()  : resource|null
Returns the input stream.
hasArgument()  : bool
Returns true if an InputArgument object exists by name or position.
hasOption()  : bool
Returns true if an InputOption object exists by name.
hasParameterOption()  : mixed
{@inheritdoc}
isInteractive()  : bool
Is this input means interactive?
setArgument()  : mixed
Sets an argument value by name.
setInteractive()  : mixed
Sets the input interactivity.
setOption()  : mixed
Sets an option value by name.
setStream()  : mixed
Sets the input stream to read from when interacting with the user.
validate()  : mixed
Validates the input.
parse()  : mixed
Processes command line arguments.
parseToken()  : bool
setTokens()  : mixed
addLongOption()  : mixed
Adds a long option value.
addShortOption()  : mixed
Adds a short option value.
parseArgument()  : mixed
Parses an argument.
parseLongOption()  : mixed
Parses a long option.
parseShortOption()  : mixed
Parses a short option.
parseShortOptionSet()  : mixed
Parses a short option set.

Properties

$arguments

protected mixed $arguments = []

$definition

protected mixed $definition

$interactive

protected mixed $interactive = true

$options

protected mixed $options = []

$stream

protected mixed $stream

Methods

__construct()

public __construct([array<string|int, mixed> $argv = null ][, InputDefinition $definition = null ]) : mixed
Parameters
$argv : array<string|int, mixed> = null
$definition : InputDefinition = null
Return values
mixed

__toString()

Returns a stringified representation of the args passed to the command.

public __toString() : string
Return values
string

bind()

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

public bind(InputDefinition $definition) : mixed
Parameters
$definition : InputDefinition
Return values
mixed

escapeToken()

Escapes a token through escapeshellarg if it contains unsafe chars.

public escapeToken(string $token) : string
Parameters
$token : string
Return values
string

getArgument()

Returns the argument value for a given argument name.

public getArgument(string $name) : mixed
Parameters
$name : string
Return values
mixed

getArguments()

Returns all the given arguments merged with the default values.

public getArguments() : array<string|int, string|bool|int|float|array|null>
Return values
array<string|int, string|bool|int|float|array|null>

getFirstArgument()

{@inheritdoc}

public getFirstArgument() : mixed
Return values
mixed

getOption()

Returns the option value for a given option name.

public getOption(string $name) : mixed
Parameters
$name : string
Return values
mixed

getOptions()

Returns all the given options merged with the default values.

public getOptions() : array<string|int, string|bool|int|float|array|null>
Return values
array<string|int, string|bool|int|float|array|null>

getParameterOption()

{@inheritdoc}

public getParameterOption(mixed $values[, mixed $default = false ][, bool $onlyParams = false ]) : mixed
Parameters
$values : mixed
$default : mixed = false
$onlyParams : bool = false
Return values
mixed

getStream()

Returns the input stream.

public getStream() : resource|null
Return values
resource|null

hasArgument()

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

public hasArgument(string $name) : bool
Parameters
$name : string
Return values
bool

hasOption()

Returns true if an InputOption object exists by name.

public hasOption(string $name) : bool
Parameters
$name : string
Return values
bool

hasParameterOption()

{@inheritdoc}

public hasParameterOption(mixed $values[, bool $onlyParams = false ]) : mixed
Parameters
$values : mixed
$onlyParams : bool = false
Return values
mixed

isInteractive()

Is this input means interactive?

public isInteractive() : bool
Return values
bool

setArgument()

Sets an argument value by name.

public setArgument(string $name, mixed $value) : mixed
Parameters
$name : string
$value : mixed

The argument value

Return values
mixed

setInteractive()

Sets the input interactivity.

public setInteractive(bool $interactive) : mixed
Parameters
$interactive : bool
Return values
mixed

setOption()

Sets an option value by name.

public setOption(string $name, mixed $value) : mixed
Parameters
$name : string
$value : mixed

The option value

Return values
mixed

setStream()

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

public setStream(mixed $stream) : mixed
Parameters
$stream : mixed

The input stream

Return values
mixed

validate()

Validates the input.

public validate() : mixed
Return values
mixed

parse()

Processes command line arguments.

protected parse() : mixed
Return values
mixed

parseToken()

protected parseToken(string $token, bool $parseOptions) : bool
Parameters
$token : string
$parseOptions : bool
Return values
bool

setTokens()

protected setTokens(array<string|int, mixed> $tokens) : mixed
Parameters
$tokens : array<string|int, mixed>
Return values
mixed

addLongOption()

Adds a long option value.

private addLongOption(string $name, mixed $value) : mixed
Parameters
$name : string
$value : mixed
Tags
throws
RuntimeException

When option given doesn't exist

Return values
mixed

addShortOption()

Adds a short option value.

private addShortOption(string $shortcut, mixed $value) : mixed
Parameters
$shortcut : string
$value : mixed
Tags
throws
RuntimeException

When option given doesn't exist

Return values
mixed

parseArgument()

Parses an argument.

private parseArgument(string $token) : mixed
Parameters
$token : string
Tags
throws
RuntimeException

When too many arguments are given

Return values
mixed

parseLongOption()

Parses a long option.

private parseLongOption(string $token) : mixed
Parameters
$token : string
Return values
mixed

parseShortOption()

Parses a short option.

private parseShortOption(string $token) : mixed
Parameters
$token : string
Return values
mixed

parseShortOptionSet()

Parses a short option set.

private parseShortOptionSet(string $name) : mixed
Parameters
$name : string
Tags
throws
RuntimeException

When option given doesn't exist

Return values
mixed

Search results