diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index cef99be..683d67f 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -21,23 +21,11 @@ parameters: - message: '#^Casting to int something that''s already int\.$#' identifier: cast.useless - count: 1 - path: src/Caching/RedisJournal.php - - - - message: '#^Offset ''priority'' on array\{tags\: array\, priority\: int\} in isset\(\) always exists and is not nullable\.$#' - identifier: isset.offset - count: 1 - path: src/Caching/RedisJournal.php - - - - message: '#^Offset ''tags'' on array\{tags\: array\, priority\: int\} in isset\(\) always exists and is not nullable\.$#' - identifier: isset.offset - count: 1 + count: 2 path: src/Caching/RedisJournal.php - - message: '#^Parameter \#2 \$dependencies \(array\{tags\: array\, priority\: int\}\) of method Contributte\\Redis\\Caching\\RedisJournal\:\:write\(\) should be contravariant with parameter \$dependencies \(array\) of method Nette\\Caching\\Storages\\Journal\:\:write\(\)$#' + message: '#^Parameter \#2 \$dependencies \(array\{tags\?\: array\, priority\?\: int, expire\?\: int\}\) of method Contributte\\Redis\\Caching\\RedisJournal\:\:write\(\) should be contravariant with parameter \$dependencies \(array\) of method Nette\\Caching\\Storages\\Journal\:\:write\(\)$#' identifier: method.childParameterType count: 1 path: src/Caching/RedisJournal.php @@ -150,6 +138,12 @@ parameters: count: 1 path: src/Caching/RedisStorage.php + - + message: '#^Possibly invalid array key type mixed\.$#' + identifier: offsetAccess.invalidOffset + count: 1 + path: src/Caching/RedisStorage.php + - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse diff --git a/src/Caching/RedisJournal.php b/src/Caching/RedisJournal.php index 7c24185..908eed4 100644 --- a/src/Caching/RedisJournal.php +++ b/src/Caching/RedisJournal.php @@ -18,8 +18,7 @@ final class RedisJournal implements Journal public const SUFFIX_TAGS = 'tags'; public const SUFFIX_KEYS = 'keys'; - /** @var ClientInterface $client */ - private $client; + private ClientInterface $client; public function __construct(ClientInterface $client) { @@ -29,7 +28,7 @@ public function __construct(ClientInterface $client) /** * Writes entry information into the journal. * - * @param array{tags: string[], priority: int} $dependencies + * @param array{tags?: string[], priority?: int, expire?: int} $dependencies */ public function write(string $key, array $dependencies): void { diff --git a/src/Caching/RedisStorage.php b/src/Caching/RedisStorage.php index 9d79b84..b81178c 100644 --- a/src/Caching/RedisStorage.php +++ b/src/Caching/RedisStorage.php @@ -306,7 +306,7 @@ private function doMultiRead(array $keys): array $result = []; foreach ($this->client->mget($formattedKeys) as $index => $stored) { - $key = $keys[$index]; + $key = $keys[(int) $index]; $result[$key] = $stored ? self::processStoredValue($key, $stored) : null; } diff --git a/src/DI/RedisExtension24.php b/src/DI/RedisExtension24.php index dd8c98f..d13c28b 100644 --- a/src/DI/RedisExtension24.php +++ b/src/DI/RedisExtension24.php @@ -20,7 +20,7 @@ final class RedisExtension24 extends CompilerExtension { /** @var mixed[] */ - private $defaults = [ + private array $defaults = [ 'debug' => false, 'serializer' => null, 'connection' => [], @@ -28,7 +28,7 @@ final class RedisExtension24 extends CompilerExtension ]; /** @var mixed[] */ - private $connectionDefaults = [ + private array $connectionDefaults = [ 'uri' => 'tcp://127.0.0.1:6379', 'options' => [], 'storage' => false, @@ -36,7 +36,7 @@ final class RedisExtension24 extends CompilerExtension ]; /** @var mixed[] */ - private $sessionDefaults = [ + private array $sessionDefaults = [ 'ttl' => null, ]; diff --git a/src/Tracy/RedisPanel.php b/src/Tracy/RedisPanel.php index 3ca95e9..1be664b 100644 --- a/src/Tracy/RedisPanel.php +++ b/src/Tracy/RedisPanel.php @@ -10,7 +10,7 @@ final class RedisPanel implements IBarPanel { /** @var array, options: array}> */ - private $connections; + private array $connections; /** * @param array, options: array}> $connections