From 4acdb355fed1516bae9268a5df7375ab9dc67101 Mon Sep 17 00:00:00 2001 From: Anne van de Venis Date: Thu, 27 Feb 2025 17:28:35 +0100 Subject: [PATCH 1/2] fix: Implicitly marking parameter $var as nullable is deprecated, the explicit nullable type must be used instead --- src/Exception/HttpException.php | 2 +- src/JsonApiTrait.php | 4 ++-- src/Model/Request/Request.php | 2 +- src/Model/Request/RequestInterface.php | 2 +- src/Model/Resource/JsonResource.php | 2 +- src/Model/Resource/Link/Link.php | 2 +- src/Model/Resource/Link/LinkInterface.php | 2 +- src/Model/Resource/Relationship/Relationship.php | 2 +- src/Model/Resource/Relationship/RelationshipInterface.php | 2 +- src/Model/Resource/ResourceCollection.php | 2 +- src/Model/Resource/ResourceCollectionInterface.php | 2 +- src/Model/Resource/ResourceInterface.php | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/Exception/HttpException.php b/src/Exception/HttpException.php index ec8cbfb..34a9ad9 100644 --- a/src/Exception/HttpException.php +++ b/src/Exception/HttpException.php @@ -20,7 +20,7 @@ class HttpException extends JsonApiException * @param int $code * @param \Throwable|null $previous */ - public function __construct(int $statusCode, string $message = '', $code = 0, \Throwable $previous = null) + public function __construct(int $statusCode, string $message = '', $code = 0, ?\Throwable $previous = null) { $this->statusCode = $statusCode; parent::__construct($message, $code, $previous); diff --git a/src/JsonApiTrait.php b/src/JsonApiTrait.php index 51cf2d9..7d91966 100644 --- a/src/JsonApiTrait.php +++ b/src/JsonApiTrait.php @@ -29,7 +29,7 @@ protected function resource(string $type, string $id): ResourceInterface * @param ResourceInterface|null $resource * @return DocumentInterface */ - protected function singleResourceDocument(ResourceInterface $resource = null): DocumentInterface + protected function singleResourceDocument(?ResourceInterface $resource = null): DocumentInterface { return new Document($resource); } @@ -48,7 +48,7 @@ protected function multiResourceDocument(array $resource = []): DocumentInterfac * @param ResourceInterface|null $related * @return RelationshipInterface */ - protected function toOneRelationship(string $name, ResourceInterface $related = null): RelationshipInterface + protected function toOneRelationship(string $name, ?ResourceInterface $related = null): RelationshipInterface { return new Relationship($name, $related); } diff --git a/src/Model/Request/Request.php b/src/Model/Request/Request.php index 445b0c8..2857a98 100644 --- a/src/Model/Request/Request.php +++ b/src/Model/Request/Request.php @@ -466,7 +466,7 @@ public function hasFilter(string $name): bool * @param string|null $explodeBy * @return array|string|int|float */ - public function filterValue(string $name, string $explodeBy = null) + public function filterValue(string $name, ?string $explodeBy = null) { if ($explodeBy) { return explode($explodeBy, $this->filter[$name]); diff --git a/src/Model/Request/RequestInterface.php b/src/Model/Request/RequestInterface.php index b730cd7..5a9b773 100644 --- a/src/Model/Request/RequestInterface.php +++ b/src/Model/Request/RequestInterface.php @@ -117,7 +117,7 @@ public function hasFilter(string $name): bool; * @param string|null $explodeBy * @return array|string|int|float */ - public function filterValue(string $name, string $explodeBy = null); + public function filterValue(string $name, ?string $explodeBy = null); /** * Define a sort parameter. This method will manipulate the uri of the request. diff --git a/src/Model/Resource/JsonResource.php b/src/Model/Resource/JsonResource.php index a8ceffd..30ee135 100644 --- a/src/Model/Resource/JsonResource.php +++ b/src/Model/Resource/JsonResource.php @@ -127,7 +127,7 @@ public function metaInformation(): KeyValueCollectionInterface * @return ResourceInterface * @throws \InvalidArgumentException */ - public function duplicate(string $id = null): ResourceInterface + public function duplicate(?string $id = null): ResourceInterface { $resource = new self($this->type(), $id ?? $this->id(), $this->attributes()->all()); diff --git a/src/Model/Resource/Link/Link.php b/src/Model/Resource/Link/Link.php index 63bdc5e..dd0ee58 100644 --- a/src/Model/Resource/Link/Link.php +++ b/src/Model/Resource/Link/Link.php @@ -77,7 +77,7 @@ public function metaInformation(): KeyValueCollectionInterface * @return LinkInterface * @throws \InvalidArgumentException */ - public function duplicate(string $name = null): LinkInterface + public function duplicate(?string $name = null): LinkInterface { $link = new self($name ?? $this->name(), $this->href()); $link->metaInformation()->mergeCollection($this->metaInformation()); diff --git a/src/Model/Resource/Link/LinkInterface.php b/src/Model/Resource/Link/LinkInterface.php index 6c991b3..6aab185 100644 --- a/src/Model/Resource/Link/LinkInterface.php +++ b/src/Model/Resource/Link/LinkInterface.php @@ -32,5 +32,5 @@ public function metaInformation(): KeyValueCollectionInterface; * @param string|null $name * @return LinkInterface */ - public function duplicate(string $name = null): LinkInterface; + public function duplicate(?string $name = null): LinkInterface; } diff --git a/src/Model/Resource/Relationship/Relationship.php b/src/Model/Resource/Relationship/Relationship.php index 0b7be1e..a8a46a2 100644 --- a/src/Model/Resource/Relationship/Relationship.php +++ b/src/Model/Resource/Relationship/Relationship.php @@ -115,7 +115,7 @@ public function related(): ResourceCollectionInterface * @return RelationshipInterface * @throws \InvalidArgumentException */ - public function duplicate(string $name = null): RelationshipInterface + public function duplicate(?string $name = null): RelationshipInterface { if ($this->shouldBeHandledAsCollection()) { $related = []; diff --git a/src/Model/Resource/Relationship/RelationshipInterface.php b/src/Model/Resource/Relationship/RelationshipInterface.php index 9179231..bce0402 100644 --- a/src/Model/Resource/Relationship/RelationshipInterface.php +++ b/src/Model/Resource/Relationship/RelationshipInterface.php @@ -46,5 +46,5 @@ public function metaInformation(): KeyValueCollectionInterface; * @param string|null $name * @return RelationshipInterface */ - public function duplicate(string $name = null): RelationshipInterface; + public function duplicate(?string $name = null): RelationshipInterface; } diff --git a/src/Model/Resource/ResourceCollection.php b/src/Model/Resource/ResourceCollection.php index cca05da..2822b50 100644 --- a/src/Model/Resource/ResourceCollection.php +++ b/src/Model/Resource/ResourceCollection.php @@ -64,7 +64,7 @@ public function get(string $type, string $id): ResourceInterface * @return ResourceInterface * @throws \LogicException */ - public function first(string $type = null): ResourceInterface + public function first(?string $type = null): ResourceInterface { if ($this->isEmpty()) { throw new \LogicException('Collection does not contain any resources!'); diff --git a/src/Model/Resource/ResourceCollectionInterface.php b/src/Model/Resource/ResourceCollectionInterface.php index b95533b..750423b 100644 --- a/src/Model/Resource/ResourceCollectionInterface.php +++ b/src/Model/Resource/ResourceCollectionInterface.php @@ -35,7 +35,7 @@ public function get(string $type, string $id): ResourceInterface; * @param string $type * @return ResourceInterface */ - public function first(string $type = null): ResourceInterface; + public function first(?string $type = null): ResourceInterface; /** * @param ResourceInterface $resource diff --git a/src/Model/Resource/ResourceInterface.php b/src/Model/Resource/ResourceInterface.php index 3857e2c..2f37e69 100644 --- a/src/Model/Resource/ResourceInterface.php +++ b/src/Model/Resource/ResourceInterface.php @@ -49,5 +49,5 @@ public function metaInformation(): KeyValueCollectionInterface; * @param string $id * @return ResourceInterface */ - public function duplicate(string $id = null): ResourceInterface; + public function duplicate(?string $id = null): ResourceInterface; } From 041a4b12d86ad6e3bd96236f94c2dd2c18040079 Mon Sep 17 00:00:00 2001 From: Anne van de Venis Date: Thu, 27 Feb 2025 17:29:44 +0100 Subject: [PATCH 2/2] deps: allow psr/http-message^2.0 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 63943d4..e2635f0 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ "minimum-stability": "stable", "require": { "php": ">=7.2", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0 || ^2.0" }, "require-dev": { "phpunit/phpunit": "^7.0",