/** * @return RequestedPhar[] * @throws CLI\CommandOptionsException */ private function getPharsFromCliArguments() { $phars = []; $argCount = $this->cliOptions->getArgumentCount(); for ($i = 0; $i < $argCount; $i++) { $argument = $this->cliOptions->getArgument($i); if (strpos($argument, 'https://') !== false) { $phars[] = RequestedPhar::fromUrl(new Url($argument)); } else { $aliasSegments = explode('@', $argument, 2); $parser = new VersionConstraintParser(); if (count($aliasSegments) === 2) { $versionConstraint = $parser->parse($aliasSegments[1]); } else { $versionConstraint = new AnyVersionConstraint(); } $phars[] = RequestedPhar::fromAlias(new PharAlias($aliasSegments[0], $versionConstraint)); } } return $phars; }
/** * @return string * @throws CLI\CommandOptionsException */ public function getPharName() { return $this->cliOptions->getArgument(0); }