<?php
namespace App\Console;
class ArgumentHolder
{
/**
* @var array
*/
private $parameters = [];
/**
* @var array
*/
private $options = [];
public function __construct()
{
$args = $_SERVER['argv'];
for ($i=1, $iMax = count($args); $i < $iMax; $i++) {
$argument = $args[$i];
if (($argument[0] ?? '') === '-') {
$this->options[$argument[1] ?? ''] = substr($argument, 2);
} else {
$this->parameters[] = $argument;
}
}
}
/**
* @param int $paramName
*
* @return string|null
*/
public function getParameter(int $paramName): ?string
{
return $this->parameters[$paramName] ?? null;
}
/**
* @param string $optionName
*
* @return string|null
*/
public function getOption(string $optionName): ?string
{
return $this->options[$optionName] ?? null;
}
}
|