| @@ -6,7 +6,7 @@ discard block | ||
| 6 | 6 | use nebula\component\request\Request; | 
| 7 | 7 | use nebula\component\debug\log\logger\FileLogger; | 
| 8 | 8 | |
| 9 | -require_once __DIR__ .'/../vendor/autoload.php'; | |
| 9 | +require_once __DIR__.'/../vendor/autoload.php'; | |
| 10 | 10 | |
| 11 | 11 | $logger = new FileLogger( | 
| 12 | 12 | [ | 
| @@ -30,19 +30,19 @@ discard block | ||
| 30 | 30 |  $debug->timeEnd('Request::buildFromServer'); | 
| 31 | 31 | |
| 32 | 32 |  $debug->debug('request apply true', [ | 
| 33 | - 'request' => $request , | |
| 33 | + 'request' => $request, | |
| 34 | 34 |      'exception' => new Exception('test exception') | 
| 35 | 35 | ]); | 
| 36 | 36 | |
| 37 | 37 |  $debug->debug('request  getBasicURI {url}', ['url' => $request->getBasicURI()]); | 
| 38 | 38 | |
| 39 | -function formatBytes(int $bytes, int $precision=0) | |
| 39 | +function formatBytes(int $bytes, int $precision = 0) | |
| 40 | 40 |  { | 
| 41 | - $human= ['B', 'KB', 'MB', 'GB', 'TB']; | |
| 41 | + $human = ['B', 'KB', 'MB', 'GB', 'TB']; | |
| 42 | 42 | $bytes = max($bytes, 0); | 
| 43 | - $pow = floor(($bytes?log($bytes):0)/log(1024)); | |
| 44 | - $pos = min($pow, count($human)-1); | |
| 45 | - $bytes /= (1 << (10* $pos)); | |
| 43 | + $pow = floor(($bytes ?log($bytes) : 0) / log(1024)); | |
| 44 | + $pos = min($pow, count($human) - 1); | |
| 45 | + $bytes /= (1 << (10 * $pos)); | |
| 46 | 46 | return round($bytes, $precision).' '.$human[$pos]; | 
| 47 | 47 | } | 
| 48 | 48 | |
| @@ -46,9 +46,9 @@ discard block | ||
| 46 | 46 | * @param boolean $ignoreCase | 
| 47 | 47 | * @return array|null | 
| 48 | 48 | */ | 
| 49 | - public function match(string $url, bool $ignoreCase = true):?array | |
| 49 | + public function match(string $url, bool $ignoreCase = true): ?array | |
| 50 | 50 |      { | 
| 51 | - $match = '#^'. $this->match.'$#'. ($ignoreCase?'i':''); | |
| 51 | + $match = '#^'.$this->match.'$#'.($ignoreCase ? 'i' : ''); | |
| 52 | 52 | $parameter = []; | 
| 53 | 53 |          if (preg_match($match, $url, $parameter, PREG_UNMATCHED_AS_NULL) > 0) { | 
| 54 | 54 | return array_slice($parameter, 1); | 
| @@ -72,12 +72,12 @@ discard block | ||
| 72 | 72 |              } else { | 
| 73 | 73 | $value = $parameter->unpackValue($match); | 
| 74 | 74 | } | 
| 75 | - $parameters[$parameter->getIndexName()] = $value; | |
| 75 | + $parameters[$parameter->getIndexName()] = $value; | |
| 76 | 76 | } | 
| 77 | 77 | return $parameters; | 
| 78 | 78 | } | 
| 79 | 79 | |
| 80 | - public function getParameter(string $name):?Parameter | |
| 80 | + public function getParameter(string $name): ?Parameter | |
| 81 | 81 |      { | 
| 82 | 82 |          foreach ($this->parameter as $parameter) { | 
| 83 | 83 |              if ($parameter->getIndexName() === $name) { | 
| @@ -26,18 +26,18 @@ discard block | ||
| 26 | 26 | // 参数 | 
| 27 | 27 | $parameters = []; | 
| 28 | 28 | // 转义正则 | 
| 29 | -        $url=preg_replace('/([\/\.\\\\\+\(\^\)\$\!\<\>\-\?\*])/', '\\\\$1', $uri); | |
| 29 | +        $url = preg_replace('/([\/\.\\\\\+\(\^\)\$\!\<\>\-\?\*])/', '\\\\$1', $uri); | |
| 30 | 30 | // 添加忽略 | 
| 31 | -        $url=preg_replace('/(\[)([^\[\]]+)(?(1)\])/', '(?:$2)?', $url); | |
| 31 | +        $url = preg_replace('/(\[)([^\[\]]+)(?(1)\])/', '(?:$2)?', $url); | |
| 32 | 32 | // 添加 * ? 匹配 | 
| 33 | - $url=str_replace(['\*','\?'], ['[^/]*?','[^/]'], $url); | |
| 33 | + $url = str_replace(['\*', '\?'], ['[^/]*?', '[^/]'], $url); | |
| 34 | 34 | // 编译页面参数 | 
| 35 | -        $url=preg_replace_callback('/\{(\w+)(?:\:([^}]+?))?\}/', function ($match) use (&$parameters) { | |
| 35 | +        $url = preg_replace_callback('/\{(\w+)(?:\:([^}]+?))?\}/', function($match) use (&$parameters) { | |
| 36 | 36 | $name = $match[1]; | 
| 37 | 37 | $type = 'string'; | 
| 38 | 38 | $extra = ''; | 
| 39 | 39 |              if (isset($match[2])) { | 
| 40 | -                if (strpos($match[2], '=')!==false) { | |
| 40 | +                if (strpos($match[2], '=') !== false) { | |
| 41 | 41 |                      list($type, $extra) = \explode('=', $match[2]); | 
| 42 | 42 |                  } else { | 
| 43 | 43 | $type = $match[2]; | 
| @@ -56,16 +56,16 @@ discard block | ||
| 56 | 56 | |
| 57 | 57 | public static function buildUri(UriMatcher $matcher, array $parameter, bool $allowQuery = true):string | 
| 58 | 58 |      { | 
| 59 | - $uri = $matcher->getUri(); | |
| 59 | + $uri = $matcher->getUri(); | |
| 60 | 60 | // 拆分参数 | 
| 61 | 61 | list($mapper, $query) = static::analyseParameter($matcher, $parameter); | 
| 62 | 62 | // for * ? | 
| 63 | - $url=\str_replace(['*','?'], ['','-'], $uri); | |
| 63 | + $url = \str_replace(['*', '?'], ['', '-'], $uri); | |
| 64 | 64 | // for ignore value | 
| 65 | -        $url=preg_replace_callback('/\[(.+?)\]/', function ($match) use ($matcher, $parameter, $mapper) { | |
| 65 | +        $url = preg_replace_callback('/\[(.+?)\]/', function($match) use ($matcher, $parameter, $mapper) { | |
| 66 | 66 |              if (preg_match('/\{(\w+).+?\}/', $match[1])) { | 
| 67 | 67 | $count = 0; | 
| 68 | - $subUrl= static::replaceParameter($match[1], $matcher, $parameter, $mapper, $count); | |
| 68 | + $subUrl = static::replaceParameter($match[1], $matcher, $parameter, $mapper, $count); | |
| 69 | 69 |                  if ($count > 0) { | 
| 70 | 70 | return $subUrl; | 
| 71 | 71 | } | 
| @@ -73,7 +73,7 @@ discard block | ||
| 73 | 73 | return ''; | 
| 74 | 74 | }, $url); | 
| 75 | 75 | |
| 76 | - $url= static::replaceParameter($url, $matcher, $parameter, $mapper); | |
| 76 | + $url = static::replaceParameter($url, $matcher, $parameter, $mapper); | |
| 77 | 77 | |
| 78 | 78 |          if (count($query) && $allowQuery) { | 
| 79 | 79 | return $url.'?'.http_build_query($query, 'v', '&', PHP_QUERY_RFC3986); | 
| @@ -97,9 +97,9 @@ discard block | ||
| 97 | 97 | return [$mapper, $query]; | 
| 98 | 98 | } | 
| 99 | 99 | |
| 100 | - protected static function replaceParameter(string $input, UriMatcher $matcher, array $parameter, array $mapper, ?int &$count=null) | |
| 100 | + protected static function replaceParameter(string $input, UriMatcher $matcher, array $parameter, array $mapper, ?int &$count = null) | |
| 101 | 101 |      { | 
| 102 | -        return preg_replace_callback('/\{(\w+).+?\}/', function ($match) use ($matcher, $parameter, $mapper) { | |
| 102 | +        return preg_replace_callback('/\{(\w+).+?\}/', function($match) use ($matcher, $parameter, $mapper) { | |
| 103 | 103 |              if (\array_key_exists($match[1], $mapper)) { | 
| 104 | 104 | return $mapper[$match[1]]->packValue($parameter[$match[1]]); | 
| 105 | 105 | } | 
| @@ -4,7 +4,7 @@ discard block | ||
| 4 | 4 | /** | 
| 5 | 5 | * 匹配参数 | 
| 6 | 6 | */ | 
| 7 | -abstract class Parameter   { | |
| 7 | +abstract class Parameter { | |
| 8 | 8 | |
| 9 | 9 | protected static $name; | 
| 10 | 10 | /** | 
| @@ -25,7 +25,7 @@ discard block | ||
| 25 | 25 | } | 
| 26 | 26 | |
| 27 | 27 |      public static function build(string $indexName, string $extra):Parameter { | 
| 28 | - $parameter = new static($extra); | |
| 28 | + $parameter = new static($extra); | |
| 29 | 29 | $parameter->setIndexName($indexName); | 
| 30 | 30 | return $parameter; | 
| 31 | 31 | } | 
| @@ -40,9 +40,9 @@ discard block | ||
| 40 | 40 | protected $matcher; | 
| 41 | 41 | |
| 42 | 42 | |
| 43 | - public function __construct(array $methods, string $uri, array $attribute=[]) | |
| 43 | + public function __construct(array $methods, string $uri, array $attribute = []) | |
| 44 | 44 |      { | 
| 45 | -        array_walk($methods, function ($value) { | |
| 45 | +        array_walk($methods, function($value) { | |
| 46 | 46 | return strtoupper($value); | 
| 47 | 47 | }); | 
| 48 | 48 | $this->methods = $methods; | 
| @@ -139,7 +139,7 @@ discard block | ||
| 139 | 139 | * @param RequestInterface $request | 
| 140 | 140 | * @return array|null | 
| 141 | 141 | */ | 
| 142 | -    public function match(RequestInterface $request):?array { | |
| 142 | +    public function match(RequestInterface $request): ?array { | |
| 143 | 143 |          if (\in_array($request->getMethod(), $this->methods)) { | 
| 144 | 144 |              if ($parameter = $this->matcher->match($request->getUrl())) { | 
| 145 | 145 | return $this->matcher->buildParamter($parameter); | 
| @@ -23,7 +23,7 @@ discard block | ||
| 23 | 23 | * | 
| 24 | 24 | * @param RouteMatcher[] $collection | 
| 25 | 25 | */ | 
| 26 | - public function __construct(array $collection=[]) | |
| 26 | + public function __construct(array $collection = []) | |
| 27 | 27 |      { | 
| 28 | 28 | $this->merge($collection); | 
| 29 | 29 | } | 
| @@ -34,7 +34,7 @@ discard block | ||
| 34 | 34 | * @param array $collection | 
| 35 | 35 | * @return void | 
| 36 | 36 | */ | 
| 37 | - public function merge(array $collection=[]) | |
| 37 | + public function merge(array $collection = []) | |
| 38 | 38 |      { | 
| 39 | 39 | $this->collection = array_merge($this->collection, $collection); | 
| 40 | 40 | } | 
| @@ -57,7 +57,7 @@ discard block | ||
| 57 | 57 | * @param string $name | 
| 58 | 58 | * @return RouteMatcher|null | 
| 59 | 59 | */ | 
| 60 | - public function get(string $name):?RouteMatcher | |
| 60 | + public function get(string $name): ?RouteMatcher | |
| 61 | 61 |      { | 
| 62 | 62 | return $this->collection[$name] ?? null; | 
| 63 | 63 | } | 
| @@ -11,5 +11,5 @@ | ||
| 11 | 11 | |
| 12 | 12 | public static function toAbsolutePath(string $path, string $separator = DIRECTORY_SEPARATOR):string; | 
| 13 | 13 | |
| 14 | - public static function getHomePath():?string; | |
| 14 | + public static function getHomePath(): ?string; | |
| 15 | 15 | } | 
| @@ -9,7 +9,7 @@ discard block | ||
| 9 | 9 |  {     | 
| 10 | 10 | public static function formatSeparator(string $path):string | 
| 11 | 11 |      { | 
| 12 | - return str_replace(['\\','/'], DIRECTORY_SEPARATOR, $path); | |
| 12 | + return str_replace(['\\', '/'], DIRECTORY_SEPARATOR, $path); | |
| 13 | 13 | } | 
| 14 | 14 | |
| 15 | 15 |      public static function toAbsolutePath(string $path, string $separator = DIRECTORY_SEPARATOR):string{ | 
| @@ -30,7 +30,7 @@ discard block | ||
| 30 | 30 | $subpath = substr($subpath, 1); | 
| 31 | 31 |          } else { | 
| 32 | 32 |              if (strpos($subpath, ':/') === false) { | 
| 33 | - $subpath=str_replace(['/', '\\'], '/', getcwd()).'/'.$subpath; | |
| 33 | + $subpath = str_replace(['/', '\\'], '/', getcwd()).'/'.$subpath; | |
| 34 | 34 | } | 
| 35 | 35 |              list($root, $subpath) = explode(':/', $subpath, 2); | 
| 36 | 36 | $root .= ':'.DIRECTORY_SEPARATOR; | 
| @@ -48,7 +48,7 @@ discard block | ||
| 48 | 48 |              } elseif ($name === '.') { | 
| 49 | 49 | continue; | 
| 50 | 50 |              } elseif (strlen($name)) { | 
| 51 | - $absulotePaths[]=$name; | |
| 51 | + $absulotePaths[] = $name; | |
| 52 | 52 | } | 
| 53 | 53 | } | 
| 54 | 54 | return implode($separator, $absulotePaths); | 
| @@ -57,20 +57,20 @@ discard block | ||
| 57 | 57 | protected static function parsePathSchemeSubpath(string $path):array | 
| 58 | 58 |      { | 
| 59 | 59 |          if (static::getHomePath() !== null && strpos($path, '~') === 0) { | 
| 60 | - $scheme =''; | |
| 61 | - $subpath = static::getHomePath() .DIRECTORY_SEPARATOR.substr($path, 1); | |
| 60 | + $scheme = ''; | |
| 61 | + $subpath = static::getHomePath().DIRECTORY_SEPARATOR.substr($path, 1); | |
| 62 | 62 |          } elseif (strpos($path, '://') !== false) { | 
| 63 | 63 |              list($scheme, $subpath) = explode('://', $path, 2); | 
| 64 | - $scheme.='://'; | |
| 64 | + $scheme .= '://'; | |
| 65 | 65 |          } else { | 
| 66 | - $scheme =''; | |
| 66 | + $scheme = ''; | |
| 67 | 67 | $subpath = $path; | 
| 68 | 68 | } | 
| 69 | 69 | return [$scheme, $subpath]; | 
| 70 | 70 | } | 
| 71 | 71 | |
| 72 | 72 | |
| 73 | -    public static function getHomePath():?string { | |
| 73 | +    public static function getHomePath(): ?string { | |
| 74 | 74 |          if (defined('USER_HOME_PATH')) { | 
| 75 | 75 |              return constant('USER_HOME_PATH'); | 
| 76 | 76 | } | 
| @@ -56,7 +56,7 @@ discard block | ||
| 56 | 56 | * @param string $className | 
| 57 | 57 | * @return string|null | 
| 58 | 58 | */ | 
| 59 | - public function getClassPath(string $className):?string | |
| 59 | + public function getClassPath(string $className): ?string | |
| 60 | 60 |      { | 
| 61 | 61 | // 搜索路径 | 
| 62 | 62 |          foreach ($this->includePath as $includeNamespace => $includePaths) { | 
| @@ -78,10 +78,10 @@ discard block | ||
| 78 | 78 | * @param string $className | 
| 79 | 79 | * @return string|null | 
| 80 | 80 | */ | 
| 81 | - protected function getClassPathByAlias(string $includePath, string $className):?string | |
| 81 | + protected function getClassPathByAlias(string $includePath, string $className): ?string | |
| 82 | 82 |      { | 
| 83 | - $namepath=static::formatSeparator($className); | |
| 84 | - $className=static::realName($className); | |
| 83 | + $namepath = static::formatSeparator($className); | |
| 84 | + $className = static::realName($className); | |
| 85 | 85 |          foreach ($this->namespace as $namespace) { | 
| 86 | 86 | $path = $includePath.DIRECTORY_SEPARATOR.$namespace.DIRECTORY_SEPARATOR.$namepath.'.php'; | 
| 87 | 87 |              if ($path = static::realPath($path)) { | 
| @@ -103,16 +103,16 @@ discard block | ||
| 103 | 103 | * @param string $className | 
| 104 | 104 | * @return string|null | 
| 105 | 105 | */ | 
| 106 | - protected function getClassPathByName(string $includeNamespace, string $includePath, string $className):?string | |
| 106 | + protected function getClassPathByName(string $includeNamespace, string $includePath, string $className): ?string | |
| 107 | 107 |      { | 
| 108 | 108 |          if (is_numeric($includeNamespace)) { | 
| 109 | 109 | $path = $includePath.DIRECTORY_SEPARATOR.static::formatSeparator($className).'.php'; | 
| 110 | 110 |          } else { | 
| 111 | 111 | $nl = strlen($includeNamespace); | 
| 112 | 112 |              if (substr(static::realName($className), 0, $nl) === $includeNamespace) { | 
| 113 | - $path=$includePath.DIRECTORY_SEPARATOR.static::formatSeparator(substr($className, $nl)).'.php'; | |
| 113 | + $path = $includePath.DIRECTORY_SEPARATOR.static::formatSeparator(substr($className, $nl)).'.php'; | |
| 114 | 114 |              } else { | 
| 115 | - $path=$includePath.DIRECTORY_SEPARATOR.static::formatSeparator($className).'.php'; | |
| 115 | + $path = $includePath.DIRECTORY_SEPARATOR.static::formatSeparator($className).'.php'; | |
| 116 | 116 | } | 
| 117 | 117 | } | 
| 118 | 118 |          if ($path = static::realPath($path)) { |