Overview

Namespaces

  • CzProject
    • GitPhp

Classes

  • CzProject\GitPhp\GitRepository
  • CzProject\GitPhp\Helpers

Exceptions

  • CzProject\GitPhp\Exception
  • CzProject\GitPhp\GitException
  • CzProject\GitPhp\StaticClassException
  • Overview
  • Namespace
  • Class
 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 
<?php

    namespace CzProject\GitPhp;


    class Helpers
    {
        public function __construct()
        {
            throw new StaticClassException('This is static class.');
        }


        /**
         * Is path absolute?
         * Method from Nette\Utils\FileSystem
         * @link   https://github.com/nette/nette/blob/master/Nette/Utils/FileSystem.php
         * @return bool
         */
        public static function isAbsolute($path)
        {
            return (bool) preg_match('#[/\\\\]|[a-zA-Z]:[/\\\\]|[a-z][a-z0-9+.-]*://#Ai', $path);
        }


        /**
         * @param  string  /path/to/repo.git | host.xz:foo/.git | ...
         * @return string  repo | foo | ...
         */
        public static function extractRepositoryNameFromUrl($url)
        {
            // /path/to/repo.git => repo
            // host.xz:foo/.git => foo
            $directory = rtrim($url, '/');
            if(substr($directory, -5) === '/.git')
            {
                $directory = substr($directory, 0, -5);
            }

            $directory = basename($directory, '.git');

            if(($pos = strrpos($directory, ':')) !== FALSE)
            {
                $directory = substr($directory, $pos + 1);
            }

            return $directory;
        }
    }
czproject/git-php version-4.x API documentation API documentation generated by ApiGen