From 30137a0c0738176827765419200249d9bd014183 Mon Sep 17 00:00:00 2001 From: Evgeniy Zyubin Date: Mon, 30 Dec 2024 02:04:27 +0300 Subject: [PATCH 1/2] Fix for PHP 8.4 --- .github/workflows/build.yml | 2 ++ .github/workflows/static.yml | 1 + src/MiddlewarePipeline.php | 2 +- src/MiddlewarePipelineInterface.php | 2 +- src/MiddlewareResolver.php | 2 +- src/ServerRequestRunner.php | 4 ++-- 6 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7fa0ea1..420cb9b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,6 +39,8 @@ jobs: - "8.0" - "8.1" - "8.2" + - "8.3" + - "8.4" steps: - name: Checkout. diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index 3e79b31..0d90f64 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -35,6 +35,7 @@ jobs: - "8.0" - "8.1" - "8.2" + - "8.3" steps: - name: Checkout. diff --git a/src/MiddlewarePipeline.php b/src/MiddlewarePipeline.php index f5dda09..ac0487e 100644 --- a/src/MiddlewarePipeline.php +++ b/src/MiddlewarePipeline.php @@ -24,7 +24,7 @@ final class MiddlewarePipeline implements MiddlewarePipelineInterface /** * {@inheritDoc} */ - public function pipe(MiddlewareInterface $middleware, string $pathPrefix = null): void + public function pipe(MiddlewareInterface $middleware, ?string $pathPrefix = null): void { $this->pipeline[] = (!$pathPrefix || $pathPrefix === '/') ? $middleware : $this->path($pathPrefix, $middleware); } diff --git a/src/MiddlewarePipelineInterface.php b/src/MiddlewarePipelineInterface.php index 6f44aa9..3d5c00a 100644 --- a/src/MiddlewarePipelineInterface.php +++ b/src/MiddlewarePipelineInterface.php @@ -51,5 +51,5 @@ interface MiddlewarePipelineInterface extends MiddlewareInterface, RequestHandle * @param MiddlewareInterface $middleware * @param string|null $pathPrefix path prefix from the root to which the middleware is attached. */ - public function pipe(MiddlewareInterface $middleware, string $pathPrefix = null): void; + public function pipe(MiddlewareInterface $middleware, ?string $pathPrefix = null): void; } diff --git a/src/MiddlewareResolver.php b/src/MiddlewareResolver.php index 857bc0f..ec2d181 100644 --- a/src/MiddlewareResolver.php +++ b/src/MiddlewareResolver.php @@ -26,7 +26,7 @@ final class MiddlewareResolver implements MiddlewareResolverInterface /** * @param ContainerInterface|null $container */ - public function __construct(ContainerInterface $container = null) + public function __construct(?ContainerInterface $container = null) { $this->container = $container; } diff --git a/src/ServerRequestRunner.php b/src/ServerRequestRunner.php index 31cb95f..ba9e83a 100644 --- a/src/ServerRequestRunner.php +++ b/src/ServerRequestRunner.php @@ -33,7 +33,7 @@ final class ServerRequestRunner * @param MiddlewarePipelineInterface|null $pipeline * @param EmitterInterface|null $emitter */ - public function __construct(MiddlewarePipelineInterface $pipeline = null, EmitterInterface $emitter = null) + public function __construct(?MiddlewarePipelineInterface $pipeline = null, ?EmitterInterface $emitter = null) { $this->pipeline = $pipeline ?? new MiddlewarePipeline(); $this->emitter = $emitter ?? new SapiEmitter(); @@ -44,7 +44,7 @@ public function __construct(MiddlewarePipelineInterface $pipeline = null, Emitte * @param RequestHandlerInterface|null $defaultHandler * @psalm-suppress RedundantCast */ - public function run(ServerRequestInterface $request, RequestHandlerInterface $defaultHandler = null): void + public function run(ServerRequestInterface $request, ?RequestHandlerInterface $defaultHandler = null): void { $response = ($defaultHandler === null) ? $this->pipeline->handle($request) From 7d671105d5ec9d03d25c7762bfdb2399f04afdef Mon Sep 17 00:00:00 2001 From: Evgeniy Zyubin Date: Mon, 30 Dec 2024 02:07:43 +0300 Subject: [PATCH 2/2] Fix psalm --- src/MiddlewarePipeline.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/MiddlewarePipeline.php b/src/MiddlewarePipeline.php index ac0487e..82365fb 100644 --- a/src/MiddlewarePipeline.php +++ b/src/MiddlewarePipeline.php @@ -23,6 +23,7 @@ final class MiddlewarePipeline implements MiddlewarePipelineInterface /** * {@inheritDoc} + * @psalm-suppress RiskyTruthyFalsyComparison */ public function pipe(MiddlewareInterface $middleware, ?string $pathPrefix = null): void {