@@ -24,15 +24,15 @@  | 
                                                    ||
| 24 | 24 | #[Override]  | 
                                                        
| 25 | 25 | public function render(ResourceObject $ro)  | 
                                                        
| 26 | 26 |      { | 
                                                        
| 27 | -        if (! array_key_exists('Content-Type', $ro->headers)) { | 
                                                        |
| 27 | +        if (!array_key_exists('Content-Type', $ro->headers)) { | 
                                                        |
| 28 | 28 | $ro->headers['Content-Type'] = 'application/json';  | 
                                                        
| 29 | 29 | }  | 
                                                        
| 30 | 30 | |
| 31 | - $ro->view = (string) json_encode($ro, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) . PHP_EOL;  | 
                                                        |
| 31 | + $ro->view = (string) json_encode($ro, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT).PHP_EOL;  | 
                                                        |
| 32 | 32 | $e = json_last_error();  | 
                                                        
| 33 | 33 |          if ($e) { | 
                                                        
| 34 | 34 | // @codeCoverageIgnoreStart  | 
                                                        
| 35 | -            error_log('json_encode error: ' . json_last_error_msg() . ' in ' . __METHOD__); | 
                                                        |
| 35 | +            error_log('json_encode error: '.json_last_error_msg().' in '.__METHOD__); | 
                                                        |
| 36 | 36 | |
| 37 | 37 | return '';  | 
                                                        
| 38 | 38 | |
@@ -39,13 +39,13 @@  | 
                                                    ||
| 39 | 39 | * @param RequestQuery $query  | 
                                                        
| 40 | 40 | */  | 
                                                        
| 41 | 41 | #[Override]  | 
                                                        
| 42 | - public function __invoke(string $varName, array $query, InjectorInterface $injector): AbstractFileUpload|null  | 
                                                        |
| 42 | + public function __invoke(string $varName, array $query, InjectorInterface $injector): AbstractFileUpload | null  | 
                                                        |
| 43 | 43 |      { | 
                                                        
| 44 | 44 | // When user sets the FileUpload object, return it directly  | 
                                                        
| 45 | 45 |          if (array_key_exists($varName, $query)) { | 
                                                        
| 46 | 46 | $value = $query[$varName];  | 
                                                        
| 47 | 47 | // Type check: ensure the value is a valid file upload object or null  | 
                                                        
| 48 | -            if ($value !== null && ! ($value instanceof FileUpload) && ! ($value instanceof ErrorFileUpload)) { | 
                                                        |
| 48 | +            if ($value !== null && !($value instanceof FileUpload) && !($value instanceof ErrorFileUpload)) { | 
                                                        |
| 49 | 49 | throw new InvalidArgumentException($varName);  | 
                                                        
| 50 | 50 | }  | 
                                                        
| 51 | 51 | |
@@ -45,7 +45,7 @@ discard block  | 
                                                    ||
| 45 | 45 | #[Override]  | 
                                                        
| 46 | 46 | public function toAdapter(AdapterInterface $adapter): SchemeCollectionInterface  | 
                                                        
| 47 | 47 |      { | 
                                                        
| 48 | - $this->collection[$this->scheme . '://' . $this->appName] = $adapter;  | 
                                                        |
| 48 | + $this->collection[$this->scheme.'://'.$this->appName] = $adapter;  | 
                                                        |
| 49 | 49 | |
| 50 | 50 | return $this;  | 
                                                        
| 51 | 51 | }  | 
                                                        
@@ -58,13 +58,13 @@ discard block  | 
                                                    ||
| 58 | 58 | #[Override]  | 
                                                        
| 59 | 59 | public function getAdapter(AbstractUri $uri): AdapterInterface  | 
                                                        
| 60 | 60 |      { | 
                                                        
| 61 | - $schemeIndex = $uri->scheme . '://' . $uri->host;  | 
                                                        |
| 62 | -        if (! array_key_exists($schemeIndex, $this->collection)) { | 
                                                        |
| 61 | + $schemeIndex = $uri->scheme.'://'.$uri->host;  | 
                                                        |
| 62 | +        if (!array_key_exists($schemeIndex, $this->collection)) { | 
                                                        |
| 63 | 63 |              if ($uri->scheme === 'http' || $uri->scheme === 'https') { | 
                                                        
| 64 | 64 | return $this->collection['http://self'];  | 
                                                        
| 65 | 65 | }  | 
                                                        
| 66 | 66 | |
| 67 | - throw new SchemeException($uri->scheme . '://' . $uri->host);  | 
                                                        |
| 67 | + throw new SchemeException($uri->scheme.'://'.$uri->host);  | 
                                                        |
| 68 | 68 | }  | 
                                                        
| 69 | 69 | |
| 70 | 70 | return $this->collection[$schemeIndex];  | 
                                                        
@@ -39,7 +39,7 @@ discard block  | 
                                                    ||
| 39 | 39 | /** @throws ResourceDirException */  | 
                                                        
| 40 | 40 | public function __construct(string $resourceDir)  | 
                                                        
| 41 | 41 |      { | 
                                                        
| 42 | -        if (! file_exists($resourceDir)) { | 
                                                        |
| 42 | +        if (!file_exists($resourceDir)) { | 
                                                        |
| 43 | 43 | throw new ResourceDirException($resourceDir);  | 
                                                        
| 44 | 44 | }  | 
                                                        
| 45 | 45 | |
@@ -110,7 +110,7 @@ discard block  | 
                                                    ||
| 110 | 110 | }  | 
                                                        
| 111 | 111 | |
| 112 | 112 | $resourceClass = $this->getResourceClassName($item);  | 
                                                        
| 113 | -            if ($resourceClass === '' || ! class_exists($resourceClass)) { | 
                                                        |
| 113 | +            if ($resourceClass === '' || !class_exists($resourceClass)) { | 
                                                        |
| 114 | 114 | continue;  | 
                                                        
| 115 | 115 | }  | 
                                                        
| 116 | 116 | |
@@ -125,9 +125,9 @@ discard block  | 
                                                    ||
| 125 | 125 |      { | 
                                                        
| 126 | 126 | $isPhp = $item->isFile()  | 
                                                        
| 127 | 127 | && $item->getExtension() === 'php'  | 
                                                        
| 128 | -            && (! str_contains($item->getBasename('.php'), '.')); | 
                                                        |
| 128 | +            && (!str_contains($item->getBasename('.php'), '.')); | 
                                                        |
| 129 | 129 | |
| 130 | - return ! $isPhp;  | 
                                                        |
| 130 | + return !$isPhp;  | 
                                                        |
| 131 | 131 | }  | 
                                                        
| 132 | 132 | |
| 133 | 133 | /** @return ResourceClassName|'' */  | 
                                                        
@@ -33,7 +33,7 @@ discard block  | 
                                                    ||
| 33 | 33 | */  | 
                                                        
| 34 | 34 | public function addHalLink(array $body, array $methodAnnotations, Hal $hal): Hal  | 
                                                        
| 35 | 35 |      { | 
                                                        
| 36 | -        if (! empty($methodAnnotations)) { | 
                                                        |
| 36 | +        if (!empty($methodAnnotations)) { | 
                                                        |
| 37 | 37 | $hal = $this->linkAnnotation($body, $methodAnnotations, $hal);  | 
                                                        
| 38 | 38 | }  | 
                                                        
| 39 | 39 | |
@@ -52,7 +52,7 @@ discard block  | 
                                                    ||
| 52 | 52 | private function linkAnnotation(array $body, array $methodAnnotations, Hal $hal): Hal  | 
                                                        
| 53 | 53 |      { | 
                                                        
| 54 | 54 |          foreach ($methodAnnotations as $annotation) { | 
                                                        
| 55 | -            if (! $annotation instanceof Link) { | 
                                                        |
| 55 | +            if (!$annotation instanceof Link) { | 
                                                        |
| 56 | 56 | continue;  | 
                                                        
| 57 | 57 | }  | 
                                                        
| 58 | 58 | |
@@ -78,7 +78,7 @@ discard block  | 
                                                    ||
| 78 | 78 | private function bodyLink(array $body, Hal $hal): Hal  | 
                                                        
| 79 | 79 |      { | 
                                                        
| 80 | 80 |          foreach ($body['_links'] as $rel => $link) { | 
                                                        
| 81 | -            if (! is_string($rel) || ! isset($link['href'])) { | 
                                                        |
| 81 | +            if (!is_string($rel) || !isset($link['href'])) { | 
                                                        |
| 82 | 82 | // @codeCoverageIgnoreStart  | 
                                                        
| 83 | 83 | continue;  | 
                                                        
| 84 | 84 | // @codeCoverageIgnoreEnd  | 
                                                        
@@ -21,7 +21,7 @@  | 
                                                    ||
| 21 | 21 | public function __invoke(ResourceObject $ro): void  | 
                                                        
| 22 | 22 |      { | 
                                                        
| 23 | 23 | $unsafeMethod = ['post', 'put', 'patch', 'delete'];  | 
                                                        
| 24 | -        if (! in_array($ro->uri->method, $unsafeMethod, true)) { | 
                                                        |
| 24 | +        if (!in_array($ro->uri->method, $unsafeMethod, true)) { | 
                                                        |
| 25 | 25 | return;  | 
                                                        
| 26 | 26 | }  | 
                                                        
| 27 | 27 | |
@@ -50,7 +50,7 @@ discard block  | 
                                                    ||
| 50 | 50 | array_shift($classPath); // "/Resource/"  | 
                                                        
| 51 | 51 | $scheme = array_shift($classPath);  | 
                                                        
| 52 | 52 | |
| 53 | -        return strtolower("{$scheme}://self/" . implode('/', $classPath)); | 
                                                        |
| 53 | +        return strtolower("{$scheme}://self/".implode('/', $classPath)); | 
                                                        |
| 54 | 54 | }  | 
                                                        
| 55 | 55 | |
| 56 | 56 | /**  | 
                                                        
@@ -60,7 +60,7 @@ discard block  | 
                                                    ||
| 60 | 60 | */  | 
                                                        
| 61 | 61 | private function getOptions(string $class): Options  | 
                                                        
| 62 | 62 |      { | 
                                                        
| 63 | -        if (! class_exists($class)) { | 
                                                        |
| 63 | +        if (!class_exists($class)) { | 
                                                        |
| 64 | 64 | throw new LogicException(); // @codeCoverageIgnore  | 
                                                        
| 65 | 65 | }  | 
                                                        
| 66 | 66 | |
@@ -84,8 +84,8 @@ discard block  | 
                                                    ||
| 84 | 84 |      { | 
                                                        
| 85 | 85 | $allows = [];  | 
                                                        
| 86 | 86 |          foreach ($methods as $method) { | 
                                                        
| 87 | - $isRequestMethod = str_starts_with($method->name, 'on') && ! str_starts_with($method->name, 'onLink');  | 
                                                        |
| 88 | -            if (! $isRequestMethod) { | 
                                                        |
| 87 | + $isRequestMethod = str_starts_with($method->name, 'on') && !str_starts_with($method->name, 'onLink');  | 
                                                        |
| 88 | +            if (!$isRequestMethod) { | 
                                                        |
| 89 | 89 | continue;  | 
                                                        
| 90 | 90 | }  | 
                                                        
| 91 | 91 | |
@@ -98,7 +98,7 @@ discard block  | 
                                                    ||
| 98 | 98 | /** @param ResourceClassName $class */  | 
                                                        
| 99 | 99 | private function getParams(string $class, string $method): Params  | 
                                                        
| 100 | 100 |      { | 
                                                        
| 101 | - $refMethod = new ReflectionMethod($class, 'on' . $method);  | 
                                                        |
| 101 | + $refMethod = new ReflectionMethod($class, 'on'.$method);  | 
                                                        |
| 102 | 102 | $parameters = $refMethod->getParameters();  | 
                                                        
| 103 | 103 | $optionalParams = $requiredParams = [];  | 
                                                        
| 104 | 104 |          foreach ($parameters as $parameter) { | 
                                                        
@@ -11,7 +11,7 @@ discard block  | 
                                                    ||
| 11 | 11 |  { | 
                                                        
| 12 | 12 | /** @param Query $query */  | 
                                                        
| 13 | 13 | #[Override]  | 
                                                        
| 14 | - public function __invoke(array|null $query = null): ResourceObject  | 
                                                        |
| 14 | + public function __invoke(array | null $query = null): ResourceObject  | 
                                                        |
| 15 | 15 |      { | 
                                                        
| 16 | 16 | return new NullResourceObject();  | 
                                                        
| 17 | 17 | }  | 
                                                        
@@ -59,7 +59,7 @@ discard block  | 
                                                    ||
| 59 | 59 | #[Override]  | 
                                                        
| 60 | 60 | public function toUriWithMethod(): string  | 
                                                        
| 61 | 61 |      { | 
                                                        
| 62 | - return 'get ' . (string) new NullUri();  | 
                                                        |
| 62 | + return 'get '.(string) new NullUri();  | 
                                                        |
| 63 | 63 | }  | 
                                                        
| 64 | 64 | |
| 65 | 65 | /** @return self */  | 
                                                        
@@ -53,13 +53,13 @@ discard block  | 
                                                    ||
| 53 | 53 | public function renderHal(ResourceObject $ro): void  | 
                                                        
| 54 | 54 |      { | 
                                                        
| 55 | 55 | [$ro, $body] = $this->valuate($ro);  | 
                                                        
| 56 | - $method = 'on' . ucfirst($ro->uri->method);  | 
                                                        |
| 56 | + $method = 'on'.ucfirst($ro->uri->method);  | 
                                                        |
| 57 | 57 | $hasMethod = method_exists($ro, $method);  | 
                                                        
| 58 | 58 | $annotations = $hasMethod ? (new ReflectionMethod($ro, $method))->getAnnotations() : [];  | 
                                                        
| 59 | 59 | $hal = $this->getHal($ro->uri, $body, $annotations);  | 
                                                        
| 60 | 60 | $json = $hal->asJson(true);  | 
                                                        
| 61 | 61 | assert(is_string($json));  | 
                                                        
| 62 | - $ro->view = $json . PHP_EOL;  | 
                                                        |
| 62 | + $ro->view = $json.PHP_EOL;  | 
                                                        |
| 63 | 63 | $ro->headers['Content-Type'] = 'application/hal+json';  | 
                                                        
| 64 | 64 | }  | 
                                                        
| 65 | 65 | |
@@ -68,11 +68,11 @@ discard block  | 
                                                    ||
| 68 | 68 | assert(is_array($ro->body));  | 
                                                        
| 69 | 69 | /** @var mixed $embeded */  | 
                                                        
| 70 | 70 |          foreach ($ro->body as $key => &$embeded) { | 
                                                        
| 71 | -            if (! ($embeded instanceof AbstractRequest)) { | 
                                                        |
| 71 | +            if (!($embeded instanceof AbstractRequest)) { | 
                                                        |
| 72 | 72 | continue;  | 
                                                        
| 73 | 73 | }  | 
                                                        
| 74 | 74 | |
| 75 | - $isNotArray = ! isset($ro->body['_embedded']) || ! is_array($ro->body['_embedded']);  | 
                                                        |
| 75 | + $isNotArray = !isset($ro->body['_embedded']) || !is_array($ro->body['_embedded']);  | 
                                                        |
| 76 | 76 |              if ($isNotArray) { | 
                                                        
| 77 | 77 | $ro->body['_embedded'] = [];  | 
                                                        
| 78 | 78 | }  | 
                                                        
@@ -96,7 +96,7 @@ discard block  | 
                                                    ||
| 96 | 96 | /** @codeCoverageIgnore */  | 
                                                        
| 97 | 97 | private function isDifferentSchema(ResourceObject $parentRo, ResourceObject $childRo): bool  | 
                                                        
| 98 | 98 |      { | 
                                                        
| 99 | - return $parentRo->uri->scheme . $parentRo->uri->host !== $childRo->uri->scheme . $childRo->uri->host;  | 
                                                        |
| 99 | + return $parentRo->uri->scheme.$parentRo->uri->host !== $childRo->uri->scheme.$childRo->uri->host;  | 
                                                        |
| 100 | 100 | }  | 
                                                        
| 101 | 101 | |
| 102 | 102 | /**  | 
                                                        
@@ -106,8 +106,8 @@ discard block  | 
                                                    ||
| 106 | 106 | */  | 
                                                        
| 107 | 107 | private function getHal(AbstractUri $uri, array $body, array $annotations): Hal  | 
                                                        
| 108 | 108 |      { | 
                                                        
| 109 | - $query = $uri->query ? '?' . http_build_query($uri->query) : '';  | 
                                                        |
| 110 | - $path = $uri->path . $query;  | 
                                                        |
| 109 | + $query = $uri->query ? '?'.http_build_query($uri->query) : '';  | 
                                                        |
| 110 | + $path = $uri->path.$query;  | 
                                                        |
| 111 | 111 | $selfLink = $this->linker->getReverseLink($path, $uri->query);  | 
                                                        
| 112 | 112 | $hal = new Hal($selfLink, $body);  | 
                                                        
| 113 | 113 | |
@@ -139,7 +139,7 @@ discard block  | 
                                                    ||
| 139 | 139 | private function updateHeaders(ResourceObject $ro): void  | 
                                                        
| 140 | 140 |      { | 
                                                        
| 141 | 141 | $ro->headers['Content-Type'] = 'application/hal+json';  | 
                                                        
| 142 | -        if (! isset($ro->headers['Location'])) { | 
                                                        |
| 142 | +        if (!isset($ro->headers['Location'])) { | 
                                                        |
| 143 | 143 | return;  | 
                                                        
| 144 | 144 | }  | 
                                                        
| 145 | 145 | |