fix psalm issues

This commit is contained in:
lubiana 2023-01-26 21:18:04 +01:00
parent 224925e56b
commit 7fa412493e
No known key found for this signature in database
4 changed files with 33 additions and 6 deletions

View file

@ -16,6 +16,7 @@
],
"require": {
"php": ">=8.2",
"ext-apcu": "*",
"php-di/php-di": "^7.0.1",
"nikic/fast-route": "^1.3",
"symfony/http-foundation": "^6.2.5",

View file

@ -5,4 +5,9 @@
<code>require_once (string) $file</code>
</UnresolvableInclude>
</file>
<file src="src/Infrastructure/functions.php">
<MixedArgumentTypeCoercion>
<code>$callable</code>
</MixedArgumentTypeCoercion>
</file>
</files>

View file

@ -1,11 +1,11 @@
<?xml version="1.0"?>
<psalm
errorLevel="2"
resolveFromConfigFile="true"
errorLevel="1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
findUnusedBaselineEntry="true"
findUnusedCode="false"
errorBaseline="psalm-baseline.xml"
>
<projectFiles>

View file

@ -46,8 +46,7 @@ final readonly class HandlerResolver
);
if ($routeInfo[0] === \FastRoute\Dispatcher::NOT_FOUND) {
$event->response = new Response('Not Found', 404);
$event->stopped = true;
$this->notFound($event);
return;
}
@ -57,12 +56,34 @@ final readonly class HandlerResolver
return;
}
if (
!is_array($routeInfo[1])
|| count($routeInfo[1]) !== 2
|| !is_string($routeInfo[1][0])
|| $routeInfo[1][0] === ''
|| !is_string($routeInfo[1][1])
|| $routeInfo[1][1] === ''
) {
$this->notFound($event);
return;
}
$event->handler = new Handler(
HttpMethod::from($event->request->getMethod()),
$event->request->getPathInfo(),
...$routeInfo[1],
$routeInfo[1][0],
$routeInfo[1][1],
);
$event->request->attributes->add($routeInfo[2]);
/** @var array<array-key, mixed> $args */
$args = $routeInfo[2];
$event->request->attributes->add($args);
}
private function notFound(RequestEvent $event): void
{
$event->response = new Response('Not Found', 404);
$event->stopped = true;
}
}