/var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/cakephp/src/Console
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/cakephp/src/Console/Arguments.php (3926B)
*/
protected $argNames;
/**
* Positional arguments.
*
* @var array
*/
protected $args;
/**
* Named options
*
* @var array
*/
protected $options;
/**
* Constructor
*
* @param array $args Positional arguments
* @param array $options Named arguments
* @param array $argNames List of argument names. Order is expected to be
* the same as $args.
*/
public function __construct(array $args, array $options, array $argNames)
{
$this->args = $args;
$this->options = $options;
$this->argNames = $argNames;
}
/**
* Get all positional arguments.
*
* @return array
*/
public function getArguments(): array
{
return $this->args;
}
/**
* Get positional arguments by index.
*
* @param int $index The argument index to access.
* @return string|null The argument value or null
*/
public function getArgumentAt(int $index): ?string
{
if ($this->hasArgumentAt($index)) {
return $this->args[$index];
}
return null;
}
/**
* Check if a positional argument exists
*
* @param int $index The argument index to check.
* @return bool
*/
public function hasArgumentAt(int $index): bool
{
return isset($this->args[$index]);
}
/**
* Check if a positional argument exists by name
*
* @param string $name The argument name to check.
* @return bool
*/
public function hasArgument(string $name): bool
{
$offset = array_search($name, $this->argNames, true);
if ($offset === false) {
return false;
}
return isset($this->args[$offset]);
}
/**
* Check if a positional argument exists by name
*
* @param string $name The argument name to check.
* @return string|null
*/
public function getArgument(string $name): ?string
{
$offset = array_search($name, $this->argNames, true);
if ($offset === false || !isset($this->args[$offset])) {
return null;
}
return $this->args[$offset];
}
/**
* Get an array of all the options
*
* @return array
*/
public function getOptions(): array
{
return $this->options;
}
/**
* Get an option's value or null
*
* @param string $name The name of the option to check.
* @return string|int|bool|null The option value or null.
*/
public function getOption(string $name)
{
return $this->options[$name] ?? null;
}
/**
* Check if an option is defined and not null.
*
* @param string $name The name of the option to check.
* @return bool
*/
public function hasOption(string $name): bool
{
return isset($this->options[$name]);
}
}