diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 6c43e47..3c5c3b5 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -9,15 +9,15 @@ on: jobs: code-style: name: Code Style & Static Analysis - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: 7.1 + php-version: 8.4 extensions: mbstring, pcntl - name: Validate composer.json and composer.lock @@ -32,7 +32,7 @@ jobs: tests: name: Test Suite - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest strategy: max-parallel: 10 matrix: @@ -43,10 +43,13 @@ jobs: - 7.4 - 8.0 - 8.1 + - 8.2 + - 8.3 + - 8.4 steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 diff --git a/src/Pairs.php b/src/Pairs.php index 53c8f22..f8fd59f 100644 --- a/src/Pairs.php +++ b/src/Pairs.php @@ -34,7 +34,7 @@ public function __construct( string $queryString, bool $decodeKeys = false, bool $decodeValues = false, - string $separator = null + ?string $separator = null ) { $this->queryString = $queryString; diff --git a/src/QueryString.php b/src/QueryString.php index e4bbfd8..27f142d 100644 --- a/src/QueryString.php +++ b/src/QueryString.php @@ -78,7 +78,7 @@ private static function createFromString(string $string, QueryStringParserInterf * @return QueryString * @throws \RuntimeException */ - public static function createFromCurrentLocation(QueryStringParserInterface $queryStringParser = null): self + public static function createFromCurrentLocation(?QueryStringParserInterface $queryStringParser = null): self { if (!isset($_SERVER['REQUEST_URI'])) { throw new \RuntimeException('$_SERVER[\'REQUEST_URI\'] has not been set.'); @@ -102,7 +102,7 @@ public function withCurrentLocation(): self * @throws \InvalidArgumentException * @throws \TypeError */ - public static function factory($input = null, QueryStringParserInterface $queryStringParser = null): self + public static function factory($input = null, ?QueryStringParserInterface $queryStringParser = null): self { if (is_array($input)) { return self::createFromParams($input); diff --git a/src/Renderer/ArrayValuesNormalizerRenderer.php b/src/Renderer/ArrayValuesNormalizerRenderer.php index db0cfc0..5a1d1f2 100644 --- a/src/Renderer/ArrayValuesNormalizerRenderer.php +++ b/src/Renderer/ArrayValuesNormalizerRenderer.php @@ -16,12 +16,12 @@ final class ArrayValuesNormalizerRenderer implements QueryStringRendererInterfac /** * ArrayValuesStringifier constructor. */ - protected function __construct(QueryStringRendererInterface $renderer = null) + protected function __construct(?QueryStringRendererInterface $renderer = null) { $this->renderer = $renderer; } - public static function factory(QueryStringRendererInterface $renderer = null) + public static function factory(?QueryStringRendererInterface $renderer = null) { return new self($renderer ?? NativeRenderer::factory()); } diff --git a/src/Renderer/FlatRenderer.php b/src/Renderer/FlatRenderer.php index f2ffc80..ffad8ab 100644 --- a/src/Renderer/FlatRenderer.php +++ b/src/Renderer/FlatRenderer.php @@ -11,12 +11,12 @@ final class FlatRenderer implements QueryStringRendererInterface */ private $renderer; - protected function __construct(QueryStringRendererInterface $renderer = null) + protected function __construct(?QueryStringRendererInterface $renderer = null) { $this->renderer = $renderer; } - public static function factory(QueryStringRendererInterface $renderer = null) + public static function factory(?QueryStringRendererInterface $renderer = null) { return new self($renderer ?? NativeRenderer::factory()); } diff --git a/src/functions.php b/src/functions.php index 20414f2..fa0a5ee 100644 --- a/src/functions.php +++ b/src/functions.php @@ -12,7 +12,7 @@ * @return QueryString * @throws \InvalidArgumentException */ -function query_string($input = null, QueryStringParserInterface $queryStringParser = null): QueryString +function query_string($input = null, ?QueryStringParserInterface $queryStringParser = null): QueryString { return QueryString::factory($input, $queryStringParser); } @@ -21,7 +21,7 @@ function query_string($input = null, QueryStringParserInterface $queryStringPars * @param QueryStringRendererInterface|null $renderer * @return ArrayValuesNormalizerRenderer */ -function withoutNumericIndices(QueryStringRendererInterface $renderer = null): ArrayValuesNormalizerRenderer +function withoutNumericIndices(?QueryStringRendererInterface $renderer = null): ArrayValuesNormalizerRenderer { return ArrayValuesNormalizerRenderer::factory($renderer); } @@ -30,7 +30,7 @@ function withoutNumericIndices(QueryStringRendererInterface $renderer = null): A * @param QueryStringRendererInterface|null $renderer * @return FlatRenderer */ -function flat(QueryStringRendererInterface $renderer = null): FlatRenderer +function flat(?QueryStringRendererInterface $renderer = null): FlatRenderer { return FlatRenderer::factory($renderer); } @@ -42,7 +42,7 @@ function flat(QueryStringRendererInterface $renderer = null): FlatRenderer * @param string|null $separator * @return Pairs */ -function pairs(string $queryString, bool $decodeKeys = false, bool $decodeValues = false, string $separator = null): Pairs +function pairs(string $queryString, bool $decodeKeys = false, bool $decodeValues = false, ?string $separator = null): Pairs { return new Pairs($queryString, $decodeKeys, $decodeValues, $separator); }