Skip to content

Commit 5a9ea4c

Browse files
authored
Fix implicitly marking parameter as nullable deprecation for PHP 8.4 (#280)
* fix phpstan errors for php 8.4 and cleanup php requirements in composer.json * add phpstan error with people as wrong return type to the baseline
1 parent a8f2c6b commit 5a9ea4c

15 files changed

+23
-27
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"license": "MIT",
3232
"name": "php-tmdb/api",
3333
"require": {
34-
"php": "^7.3 || ^7.4 || ^8.0 || ^8.1",
34+
"php": "^7.3 || ^8.0",
3535
"ext-json": "*",
3636
"symfony/options-resolver": "^4.4 || ^5 || ^6",
3737
"psr/cache": "^1 || ^2 || ^3",

lib/Tmdb/Event/HydrationEvent.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public function getLastRequest(): ?RequestInterface
111111
* @param RequestInterface|null $lastRequest
112112
* @return self
113113
*/
114-
public function setLastRequest(RequestInterface $lastRequest = null): HydrationEvent
114+
public function setLastRequest(?RequestInterface $lastRequest = null): HydrationEvent
115115
{
116116
$this->lastRequest = $lastRequest;
117117

@@ -130,7 +130,7 @@ public function getLastResponse(): ?ResponseInterface
130130
* @param ResponseInterface|null $lastResponse
131131
* @return self
132132
*/
133-
public function setLastResponse(ResponseInterface $lastResponse = null): HydrationEvent
133+
public function setLastResponse(?ResponseInterface $lastResponse = null): HydrationEvent
134134
{
135135
$this->lastResponse = $lastResponse;
136136

lib/Tmdb/Event/Listener/Logger/LogApiErrorListener.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class LogApiErrorListener
4040
* @param LoggerInterface $logger
4141
* @param TmdbApiExceptionFormatterInterface|null $formatter
4242
*/
43-
public function __construct(LoggerInterface $logger, TmdbApiExceptionFormatterInterface $formatter = null)
43+
public function __construct(LoggerInterface $logger, ?TmdbApiExceptionFormatterInterface $formatter = null)
4444
{
4545
$this->logger = $logger;
4646
$this->formatter = $formatter ?: new SimpleTmdbApiExceptionFormatter();

lib/Tmdb/Event/Listener/Logger/LogHttpMessageListener.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class LogHttpMessageListener
4444
* @param LoggerInterface $logger
4545
* @param HttpMessageFormatterInterface|null $formatter
4646
*/
47-
public function __construct(LoggerInterface $logger, HttpMessageFormatterInterface $formatter = null)
47+
public function __construct(LoggerInterface $logger, ?HttpMessageFormatterInterface $formatter = null)
4848
{
4949
$this->logger = $logger;
5050
$this->formatter = $formatter ?: new SimpleHttpMessageFormatter();

lib/Tmdb/Event/Listener/Logger/LogHydrationListener.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class LogHydrationListener
4949
*/
5050
public function __construct(
5151
LoggerInterface $logger,
52-
HydrationFormatterInterface $formatter = null,
52+
?HydrationFormatterInterface $formatter = null,
5353
bool $withData = false
5454
) {
5555
$this->logger = $logger;

lib/Tmdb/Event/Listener/Request/SessionTokenRequestListener.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
class SessionTokenRequestListener
2424
{
2525
/**
26-
* @var string|SessionBearerToken|GuestSessionToken
26+
* @var SessionToken
2727
*/
2828
private $token;
2929

lib/Tmdb/Event/Listener/Request/UserAgentRequestListener.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class UserAgentRequestListener
2828
* UserAgentRequestListener constructor.
2929
* @param string|null $userAgent
3030
*/
31-
public function __construct(string $userAgent = null)
31+
public function __construct(?string $userAgent = null)
3232
{
3333
$this->userAgent = $userAgent ?? sprintf('php-tmdb/api/%s', Client::VERSION);
3434
}

lib/Tmdb/Event/RequestEvent.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class RequestEvent extends StoppableEvent implements LoggableHttpEventInterface
4545
* @param RequestInterface $request
4646
* @param SessionToken|null $sessionToken
4747
*/
48-
public function __construct(RequestInterface $request, SessionToken $sessionToken = null)
48+
public function __construct(RequestInterface $request, ?SessionToken $sessionToken = null)
4949
{
5050
$this->request = $request;
5151
$this->sessionToken = $sessionToken;
@@ -109,7 +109,7 @@ public function getSessionToken(): ?SessionToken
109109
* @param SessionToken|null $sessionToken
110110
* @return self
111111
*/
112-
public function setSessionToken(SessionToken $sessionToken = null): RequestEvent
112+
public function setSessionToken(?SessionToken $sessionToken = null): RequestEvent
113113
{
114114
$this->sessionToken = $sessionToken;
115115

lib/Tmdb/Exception/TmdbApiException.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ class TmdbApiException extends Exception
8181
public function __construct(
8282
int $code,
8383
string $message,
84-
RequestInterface $request = null,
85-
ResponseInterface $response = null,
86-
Exception $previous = null
84+
?RequestInterface $request = null,
85+
?ResponseInterface $response = null,
86+
?Exception $previous = null
8787
) {
8888
parent::__construct($message, $code, $previous);
8989

lib/Tmdb/HttpClient/HttpClient.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ public function getPsr14EventDispatcher(): EventDispatcherInterface
197197
* @param string|null $key
198198
* @return array|mixed
199199
*/
200-
public function getOptions(string $key = null)
200+
public function getOptions(?string $key = null)
201201
{
202202
if ($key) {
203203
return isset($this->options[$key]) ? $this->options[$key] : null;

lib/Tmdb/Model/Collection/Images.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,9 +209,8 @@ public function filterBestVotedImage()
209209

210210
foreach ($this->data as $image) {
211211
/**
212-
* @var $image Image
212+
* @var Image $image
213213
*/
214-
215214
if ($image->getVoteAverage() > $voteAverage) {
216215
$voteAverage = $image->getVoteAverage();
217216
$currentImage = $image;

lib/Tmdb/Model/Common/GenericCollection.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ public function filter(Closure $closure, $static = true)
375375
*
376376
* @return array Returns an array of all matching key value pairs
377377
*/
378-
public function getAll(array $keys = null)
378+
public function getAll(?array $keys = null)
379379
{
380380
return $keys ? array_intersect_key($this->data, array_flip($keys)) : $this->data;
381381
}

lib/Tmdb/Token/Session/RequestToken.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public function getToken()
6363
* @param string|null $token
6464
* @return self
6565
*/
66-
public function setToken(string $token = null)
66+
public function setToken(?string $token = null)
6767
{
6868
$this->token = $token;
6969

lib/Tmdb/Token/Session/SessionToken.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class SessionToken
4242
*
4343
* @param string|null $sessionToken
4444
*/
45-
public function __construct(string $sessionToken = null)
45+
public function __construct(?string $sessionToken = null)
4646
{
4747
$this->sessionToken = $sessionToken;
4848
}

phpstan-baseline.neon

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ parameters:
4141
count: 1
4242
path: lib/Tmdb/Factory/MovieFactory.php
4343

44+
-
45+
message: "#^Return type \\(Tmdb\\\\Model\\\\Collection\\\\People\\) of method Tmdb\\\\Factory\\\\PeopleFactory\\:\\:createCollection\\(\\) should be compatible with return type \\(Tmdb\\\\Model\\\\Common\\\\GenericCollection\\<Tmdb\\\\Model\\\\AbstractModel\\>\\) of method Tmdb\\\\Factory\\\\AbstractFactory\\<Tmdb\\\\Model\\\\AbstractModel\\>\\:\\:createCollection\\(\\)$#"
46+
count: 1
47+
path: lib/Tmdb/Factory/PeopleFactory.php
48+
4449
-
4550
message: "#^Property Tmdb\\\\HttpClient\\\\HttpClient\\:\\:\\$sessionToken is never written, only read\\.$#"
4651
count: 1
@@ -54,14 +59,6 @@ parameters:
5459
count: 1
5560
path: lib/Tmdb/Model/Movie.php
5661

57-
-
58-
message: """
59-
#^Call to deprecated method getReleases\\(\\) of class Tmdb\\\\Model\\\\Movie\\:
60-
Use the getReleaseDates instead$#
61-
"""
62-
count: 1
63-
path: lib/Tmdb/Repository/MovieRepository.php
64-
6562
-
6663
message: """
6764
#^Return type of method Tmdb\\\\Repository\\\\MovieRepository\\:\\:getReleases\\(\\) has typehint with deprecated class Tmdb\\\\Model\\\\Movie\\\\Release\\:

0 commit comments

Comments
 (0)