NetteAddons\Model\Utils\VersionParser::parseTag PHP Метод

parseTag() публичный Метод

Tries to parse and normalize version string. Returns FALSE in case of failure.
public parseTag ( $tag ) : string | FALSE
Результат string | FALSE
    public function parseTag($tag)
    {
        // Inspired by https://github.com/composer/composer/blob/8d7e5c/src/Composer/Repository/VcsRepository.php#L116
        $tag = str_replace('release-', '', $tag);
        try {
            $parsedTag = $this->getParser()->normalize($tag);
        } catch (\UnexpectedValueException $e) {
            return FALSE;
        }
        $parsedTag = preg_replace('#\\.0(\\-[a-z0-9]+)?$#i', '$1', $parsedTag);
        return $parsedTag;
    }

Usage Example

 /**
  * Returns list of version in repository.
  *
  * @return array (version => hash)
  */
 private function getVersions()
 {
     $versions = array();
     $tags = $this->repository->getTags();
     $branches = $this->repository->getBranches();
     $util = new Utils\VersionParser();
     // TODO: use dependency injection
     foreach ($tags as $tag => $hash) {
         $version = $util->parseTag($tag);
         if (!$version) {
             continue;
         }
         $versions[$version] = $tag;
     }
     foreach ($branches as $branch => $hash) {
         $version = $util->parseBranch($branch);
         $versions[$version] = $branch;
     }
     return $versions;
 }
All Usage Examples Of NetteAddons\Model\Utils\VersionParser::parseTag