1 | <?php namespace nyx\console\input\formats; |
||
17 | class Argv extends console\Input |
||
18 | { |
||
19 | /** |
||
20 | * @var interfaces\Parser The token parser to be used. |
||
21 | */ |
||
22 | private $parser; |
||
23 | |||
24 | /** |
||
25 | * Constructs a new Argv Input instance. |
||
26 | * |
||
27 | * @param iterable $parameters A sequence of parameters (in the argv format). |
||
28 | * @param interfaces\Parser $parser A Argv to Collections Lexer instance. |
||
29 | */ |
||
30 | public function __construct(iterable $parameters = null, interfaces\Parser $parser = null) |
||
31 | { |
||
32 | // If no arguments were passed, let's use the globals returned by the CLI SAPI. |
||
33 | if (!isset($parameters)) { |
||
34 | $parameters = $_SERVER['argv']; |
||
35 | |||
36 | // Strip the script name from the arguments. |
||
37 | array_shift($parameters); |
||
38 | } |
||
39 | |||
40 | $this->parser = $parser; |
||
41 | $this->raw = $parameters instanceof interfaces\Tokens ? $parameters : new tokens\Argv($parameters); |
||
42 | } |
||
43 | |||
44 | /** |
||
45 | * {@inheritdoc} |
||
46 | */ |
||
47 | protected function parse() : console\Input |
||
59 | } |
||
60 |