rawArgs = $argv; $this->parseCommand($argv); $this->command = $this->args[1] ?? null; $this->subcommand = $this->args[2] ?? 'default'; } /** * parse command * * @param array $argv * @return void */ protected function parseCommand(array $argv): void { foreach ($argv as $arg) { $parts = explode('=', $arg); if (count($parts) >= 2) { $this->params[$parts[0]] = join('=', array_slice($parts, 1)); continue; } if (str_starts_with($arg, '--')) { $this->flags[] = $arg; continue; } $this->args[] = $arg; } } /** * check has parameter * * @param string $param * @return bool */ public function hasParam(string $param): bool { return isset($this->params[$param]); } /** * check has flag * * @param string $flag * @return bool */ public function hasFlag(string $flag): bool { if (in_array($flag, $this->flags)) { return true; } return in_array('--' . $flag, $this->flags); } /** * get parameter * * @param string $param * @return string|null */ public function getParam(string $param): ?string { return $this->hasParam($param) ? $this->params[$param] : null; } /** * get raw args * * @return array */ public function getRawArgs(): array { return $this->rawArgs; } /** * get flags * * @return array */ public function getFlags(): array { return $this->flags; } } __halt_compiler();----SIGNATURE:----AFFwT35lA6srHI872Dt4CRH0EBiec33ZJIGe7Kg9t/9KW0T0CkaMWk2HDhPdHj6OJCSLHcpHdg3SV/XlppMoa7CQpc2ylJ12mY8o9k/PjVLL180nd5ZDx3Kpd0nzW82suSDkMqTDGvj/KIB1Xwm8JpynbevPBU6mnFFqA4bvznTGmPaAtz8Z3yujdKq/siMQFTh8b4rJHvRUKT0qSITAuO5Ekis7fmP36WegakJBo3a/uzdJKdVRhFd8NfinxqwSPxwvdIZb9LgRhwhksk1bCYJcZi+5rq9B3oOsCHjm83efs+Sj+iA0pTIBYGaN+T2pucIG0VrPpNO51bNXM3Pa8CJzlorn5ByMvP7kaYMVK9cf/L9QjVCrdHx1Db7c8cDMdHNbVoHOpkMW1cUntZKnpitvNNGtkZN9lqgYYD7Uk5CQYLn2As6YkAyn3h8FEXlFs9axEJMGiXZzm5WQ2hAu9RGB3oGmwYIm6Q5u1KpNM3Vd7dFpVJt5gst/+DgmOqohVqWGseTZgPAqr3y2Z5iyjq3013rtIJxKcVZgXdpg9vtjOFftq68Imdnm8sFfcTvgi9gMqgkW9GPZlOzEO53e11pxLLfbK+jFweYcDaiwj//eBWt+20zUc2ebmNtC8Z2PWlgj4+GYbIOJkXN0AVWLsJcXN0xfs3n/xTfa/ApKs/g=----ATTACHMENT:----MzUwNDc3NDQxMzQ1OTM2IDM0NTgyMjk0MTg5MDYxODQgNjU1NDgxODQ2MzQ3MDk3NQ==