CompletionInput
        
        extends ArgvInput
    
    
            
            in package
            
        
    
    
    
An input specialized for shell completion.
This input allows unfinished option names or values and exposes what kind of completion is expected.
Tags
Table of Contents
Constants
- TYPE_ARGUMENT_VALUE = 'argument_value'
 - TYPE_NONE = 'none'
 - TYPE_OPTION_NAME = 'option_name'
 - TYPE_OPTION_VALUE = 'option_value'
 
Properties
- $arguments : array<string|int, mixed>
 - $definition : InputDefinition
 - $interactive : bool
 - $options : array<string|int, mixed>
 - $stream : resource
 
Methods
- __construct() : mixed
 - __toString() : string
 - Returns a stringified representation of the args passed to the command.
 - bind() : void
 - Binds the current Input instance with the given arguments and options.
 - escapeToken() : string
 - Escapes a token through escapeshellarg if it contains unsafe chars.
 - fromString() : self
 - Converts a terminal string into tokens.
 - fromTokens() : self
 - Create an input based on an COMP_WORDS token list.
 - getArgument() : mixed
 - Returns the argument value for a given argument name.
 - getArguments() : array<string|int, string|bool|int|float|array<string|int, mixed>|null>
 - Returns all the given arguments merged with the default values.
 - getCompletionName() : string|null
 - The name of the input option or argument when completing a value.
 - getCompletionType() : self::TYPE_*
 - Returns the type of completion required.
 - getCompletionValue() : string
 - The value already typed by the user (or empty string).
 - getFirstArgument() : string|null
 - Returns the first argument from the raw parameters (not parsed).
 - getOption() : mixed
 - Returns the option value for a given option name.
 - getOptions() : array<string|int, string|bool|int|float|array<string|int, mixed>|null>
 - Returns all the given options merged with the default values.
 - getParameterOption() : mixed
 - Returns the value of a raw option (not parsed).
 - getRawTokens() : array<int, string>
 - Returns un-parsed and not validated tokens.
 - getStream() : resource
 - 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() : bool
 - Returns true if the raw parameters (not parsed) contain a value.
 - isInteractive() : bool
 - Is this input means interactive?
 - mustSuggestArgumentValuesFor() : bool
 - mustSuggestOptionValuesFor() : bool
 - setArgument() : void
 - Sets an argument value by name.
 - setInteractive() : void
 - Sets the input interactivity.
 - setOption() : void
 - Sets an option value by name.
 - setStream() : void
 - Sets the input stream to read from when interacting with the user.
 - validate() : void
 - Validates the input.
 - parse() : void
 - Processes command line arguments.
 - parseToken() : bool
 - setTokens() : void
 
Constants
TYPE_ARGUMENT_VALUE
    public
        mixed
    TYPE_ARGUMENT_VALUE
    = 'argument_value'
    
    
    
    
TYPE_NONE
    public
        mixed
    TYPE_NONE
    = 'none'
    
    
    
    
TYPE_OPTION_NAME
    public
        mixed
    TYPE_OPTION_NAME
    = 'option_name'
    
    
    
    
TYPE_OPTION_VALUE
    public
        mixed
    TYPE_OPTION_VALUE
    = 'option_value'
    
    
    
    
Properties
$arguments
    protected
        array<string|int, mixed>
    $arguments
     = []
    
    
    
    
$definition
    protected
        InputDefinition
    $definition
    
    
    
    
    
$interactive
    protected
        bool
    $interactive
     = true
    
    
    
    
$options
    protected
        array<string|int, mixed>
    $options
     = []
    
    
    
    
$stream
    protected
        resource
    $stream
    
    
    
    
    
Methods
__construct()
    public
                    __construct([array<int, string>|null $argv = null ][, InputDefinition|null $definition = null ]) : mixed
    Parameters
- $argv : array<int, string>|null = null
 - $definition : InputDefinition|null = null
 
__toString()
Returns a stringified representation of the args passed to the command.
    public
                    __toString() : string
    Return values
stringbind()
Binds the current Input instance with the given arguments and options.
    public
                    bind(InputDefinition $definition) : void
    Parameters
- $definition : InputDefinition
 
escapeToken()
Escapes a token through escapeshellarg if it contains unsafe chars.
    public
                    escapeToken(string $token) : string
    Parameters
- $token : string
 
Return values
stringfromString()
Converts a terminal string into tokens.
    public
            static        fromString(string $inputStr, int $currentIndex) : self
    This is required for shell completions without COMP_WORDS support.
Parameters
- $inputStr : string
 - $currentIndex : int
 
Return values
selffromTokens()
Create an input based on an COMP_WORDS token list.
    public
            static        fromTokens(array<string|int, string> $tokens, int $currentIndex) : self
    Parameters
- $tokens : array<string|int, string>
 - 
                    
the set of split tokens (e.g. COMP_WORDS or argv)
 - $currentIndex : int
 - 
                    
the index of the cursor (e.g. COMP_CWORD)
 
Return values
selfgetArgument()
Returns the argument value for a given argument name.
    public
                    getArgument(string $name) : mixed
    Parameters
- $name : string
 
getArguments()
Returns all the given arguments merged with the default values.
    public
                    getArguments() : array<string|int, string|bool|int|float|array<string|int, mixed>|null>
    Return values
array<string|int, string|bool|int|float|array<string|int, mixed>|null>getCompletionName()
The name of the input option or argument when completing a value.
    public
                    getCompletionName() : string|null
    Return values
string|null —returns null when completing an option name
getCompletionType()
Returns the type of completion required.
    public
                    getCompletionType() : self::TYPE_*
    TYPE_ARGUMENT_VALUE when completing the value of an input argument TYPE_OPTION_VALUE when completing the value of an input option TYPE_OPTION_NAME when completing the name of an input option TYPE_NONE when nothing should be completed
TYPE_OPTION_NAME and TYPE_NONE are already implemented by the Console component.
Return values
self::TYPE_*getCompletionValue()
The value already typed by the user (or empty string).
    public
                    getCompletionValue() : string
    Return values
stringgetFirstArgument()
Returns the first argument from the raw parameters (not parsed).
    public
                    getFirstArgument() : string|null
    Return values
string|nullgetOption()
Returns the option value for a given option name.
    public
                    getOption(string $name) : mixed
    Parameters
- $name : string
 
getOptions()
Returns all the given options merged with the default values.
    public
                    getOptions() : array<string|int, string|bool|int|float|array<string|int, mixed>|null>
    Return values
array<string|int, string|bool|int|float|array<string|int, mixed>|null>getParameterOption()
Returns the value of a raw option (not parsed).
    public
                    getParameterOption(string|array<string|int, mixed> $values[, string|bool|int|float|array<string|int, mixed>|null $default = false ][, bool $onlyParams = false ]) : mixed
    This method is to be used to introspect the input parameters before they have been validated. It must be used carefully. Does not necessarily return the correct result for short options when multiple flags are combined in the same option.
Parameters
- $values : string|array<string|int, mixed>
 - 
                    
The value(s) to look for in the raw parameters (can be an array)
 - $default : string|bool|int|float|array<string|int, mixed>|null = false
 - 
                    
The default value to return if no result is found
 - $onlyParams : bool = false
 - 
                    
Only check real parameters, skip those following an end of options (--) signal
 
getRawTokens()
Returns un-parsed and not validated tokens.
    public
                    getRawTokens([bool $strip = false ]) : array<int, string>
    Parameters
- $strip : bool = false
 - 
                    
Whether to return the raw parameters (false) or the values after the command name (true)
 
Return values
array<int, string>getStream()
Returns the input stream.
    public
                    getStream() : resource
    Return values
resourcehasArgument()
Returns true if an InputArgument object exists by name or position.
    public
                    hasArgument(string $name) : bool
    Parameters
- $name : string
 
Return values
boolhasOption()
Returns true if an InputOption object exists by name.
    public
                    hasOption(string $name) : bool
    Parameters
- $name : string
 
Return values
boolhasParameterOption()
Returns true if the raw parameters (not parsed) contain a value.
    public
                    hasParameterOption(string|array<string|int, mixed> $values[, bool $onlyParams = false ]) : bool
    This method is to be used to introspect the input parameters before they have been validated. It must be used carefully. Does not necessarily return the correct result for short options when multiple flags are combined in the same option.
Parameters
- $values : string|array<string|int, mixed>
 - 
                    
The values to look for in the raw parameters (can be an array)
 - $onlyParams : bool = false
 - 
                    
Only check real parameters, skip those following an end of options (--) signal
 
Return values
boolisInteractive()
Is this input means interactive?
    public
                    isInteractive() : bool
    Return values
boolmustSuggestArgumentValuesFor()
    public
                    mustSuggestArgumentValuesFor(string $argumentName) : bool
    Parameters
- $argumentName : string
 
Return values
boolmustSuggestOptionValuesFor()
    public
                    mustSuggestOptionValuesFor(string $optionName) : bool
    Parameters
- $optionName : string
 
Return values
boolsetArgument()
Sets an argument value by name.
    public
                    setArgument(string $name, mixed $value) : void
    Parameters
- $name : string
 - $value : mixed
 
setInteractive()
Sets the input interactivity.
    public
                    setInteractive(bool $interactive) : void
    Parameters
- $interactive : bool
 
setOption()
Sets an option value by name.
    public
                    setOption(string $name, mixed $value) : void
    Parameters
- $name : string
 - $value : mixed
 
setStream()
Sets the input stream to read from when interacting with the user.
    public
                    setStream(resource $stream) : void
    Parameters
- $stream : resource
 
validate()
Validates the input.
    public
                    validate() : void
    parse()
Processes command line arguments.
    protected
                    parse() : void
    parseToken()
    protected
                    parseToken(string $token, bool $parseOptions) : bool
    Parameters
- $token : string
 - $parseOptions : bool
 
Return values
boolsetTokens()
    protected
                    setTokens(array<int, string> $tokens) : void
    Parameters
- $tokens : array<int, string>