diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f31b7dd..d0a4c07 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -13,7 +13,7 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
- php-version: '8.0'
+ php-version: '7.1'
- name: Install Composer Dependencies
uses: ramsey/composer-install@v1
- name: Run PHP-CS-Fixer
diff --git a/composer.json b/composer.json
index 9d3f070..96b2a9f 100644
--- a/composer.json
+++ b/composer.json
@@ -22,7 +22,7 @@
"psr/http-server-middleware": "^1.0"
},
"require-dev": {
- "doctrine/coding-standard": "^8.2",
+ "doctrine/coding-standard": "^9.0",
"friendsofphp/php-cs-fixer": "^3.0",
"laminas/laminas-diactoros": "~2.2",
"phpstan/phpstan": "^0.12.14",
diff --git a/phpcs.xml b/phpcs.xml
index 678876e..1d6575d 100644
--- a/phpcs.xml
+++ b/phpcs.xml
@@ -19,8 +19,5 @@
-
-
-
diff --git a/src/RelayBuilder.php b/src/RelayBuilder.php
index ba8fc0e..7044854 100644
--- a/src/RelayBuilder.php
+++ b/src/RelayBuilder.php
@@ -10,13 +10,15 @@ class RelayBuilder
/**
* @param callable $resolver Converts a given queue entry to a callable or MiddlewareInterface instance.
*/
- public function __construct(callable $resolver = null)
+ public function __construct(?callable $resolver = null)
{
$this->resolver = $resolver;
}
/**
* @param iterable $queue A queue of middleware entries.
+ *
+ * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
*/
public function newInstance($queue): Relay
{
diff --git a/src/RequestHandler.php b/src/RequestHandler.php
index c1535cc..2b2e520 100644
--- a/src/RequestHandler.php
+++ b/src/RequestHandler.php
@@ -25,8 +25,10 @@ abstract class RequestHandler implements RequestHandlerInterface
/**
* @param iterable $queue A queue of middleware entries.
* @param callable $resolver Converts a given queue entry to a callable or MiddlewareInterface instance.
+ *
+ * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
*/
- public function __construct($queue, callable $resolver = null)
+ public function __construct($queue, ?callable $resolver = null)
{
if (! is_iterable($queue)) {
throw new TypeError('\$queue must be array or Traversable.');
diff --git a/tests/RelayBuilderTest.php b/tests/RelayBuilderTest.php
index 2e4d27a..47e0f84 100644
--- a/tests/RelayBuilderTest.php
+++ b/tests/RelayBuilderTest.php
@@ -18,21 +18,21 @@ protected function setUp(): void
$this->relayBuilder = new RelayBuilder();
}
- public function testArray()
+ public function testArray(): void
{
$queue = [new FakeMiddleware()];
$relay = $this->relayBuilder->newInstance($queue);
$this->assertInstanceOf('Relay\Relay', $relay);
}
- public function testArrayObject()
+ public function testArrayObject(): void
{
$queue = new ArrayObject([new FakeMiddleware()]);
$relay = $this->relayBuilder->newInstance($queue);
$this->assertInstanceOf('Relay\Relay', $relay);
}
- public function testTraversable()
+ public function testTraversable(): void
{
$queue = new class implements IteratorAggregate {
public function getIterator(): Generator
@@ -48,13 +48,13 @@ public function getIterator(): Generator
/**
* @psalm-suppress InvalidArgument
*/
- public function testInvalidArgument()
+ public function testInvalidArgument(): void
{
$this->expectException('TypeError');
$this->relayBuilder->newInstance('bad argument');
}
- public function testEmptyQueue()
+ public function testEmptyQueue(): void
{
$this->expectException(InvalidArgumentException::class);
$this->expectExceptionMessage('$queue cannot be empty');
diff --git a/tests/RelayTest.php b/tests/RelayTest.php
index 986c7c2..d4d591b 100644
--- a/tests/RelayTest.php
+++ b/tests/RelayTest.php
@@ -26,7 +26,7 @@ protected function setUp(): void
};
}
- protected function assertRelay(Relay $relay)
+ protected function assertRelay(Relay $relay): void
{
FakeMiddleware::$count = 0;
@@ -41,7 +41,7 @@ protected function assertRelay(Relay $relay)
$this->assertSame('<6<5<4', $actual);
}
- public function testArrayQueue()
+ public function testArrayQueue(): void
{
$queue = [
new FakeMiddleware(),
@@ -53,7 +53,7 @@ public function testArrayQueue()
$this->assertRelay(new Relay($queue));
}
- public function testTraversableQueue()
+ public function testTraversableQueue(): void
{
$queue = new class implements IteratorAggregate {
public function getIterator(): Generator
@@ -73,13 +73,13 @@ public function getIterator(): Generator
/**
* @psalm-suppress InvalidArgument
*/
- public function testBadQueue()
+ public function testBadQueue(): void
{
$this->expectException(TypeError::class);
new Relay('bad');
}
- public function testEmptyQueue()
+ public function testEmptyQueue(): void
{
$this->expectException(InvalidArgumentException::class);
$this->expectExceptionMessage('$queue cannot be empty');
@@ -87,7 +87,7 @@ public function testEmptyQueue()
new Relay([]);
}
- public function testQueueWithInvalidEntry()
+ public function testQueueWithInvalidEntry(): void
{
$this->expectException(RuntimeException::class);
$this->expectExceptionMessage(
@@ -98,7 +98,7 @@ public function testQueueWithInvalidEntry()
$relay->handle(ServerRequestFactory::fromGlobals());
}
- public function testResolverEntries()
+ public function testResolverEntries(): void
{
$queue = [
FakeMiddleware::class,
@@ -112,7 +112,7 @@ public function testResolverEntries()
$this->assertRelay(new Relay($queue, $resolver));
}
- public function testRequestHandlerInQueue()
+ public function testRequestHandlerInQueue(): void
{
$queue = [
new FakeMiddleware(),
@@ -124,7 +124,7 @@ public function testRequestHandlerInQueue()
$this->assertRelay(new Relay([$requestHandler]));
}
- public function testCallableMiddleware()
+ public function testCallableMiddleware(): void
{
$queue = [
function (