Skip to content

Commit 04c3b2d

Browse files
committed
qa: enhance type strictness and add final to a bunch of classes
This adds a bunch of `final` statements to classes which were not expect to be inherited. Signed-off-by: Maximilian Bösing <[email protected]>
1 parent 1288bb2 commit 04c3b2d

16 files changed

+26
-35
lines changed

src/Module.php

+4-7
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,11 @@
44

55
final class Module
66
{
7-
/**
8-
* Return default laminas-cache configuration for laminas-mvc context.
9-
*/
107
public function getConfig(): array
118
{
12-
$provider = new ConfigProvider();
13-
return [
14-
'service_manager' => $provider->getDependencyConfig(),
15-
];
9+
$config = (new ConfigProvider())();
10+
$config['service_manager'] = $config['dependencies'];
11+
unset($config['dependencies']);
12+
return $config;
1613
}
1714
}

src/Pattern/CallbackCache.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
use function serialize;
1818
use function strtolower;
1919

20-
class CallbackCache extends AbstractStorageCapablePattern
20+
final class CallbackCache extends AbstractStorageCapablePattern
2121
{
2222
/**
2323
* Call the specified callback or get the result from cache

src/Pattern/CaptureCache.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
use const DIRECTORY_SEPARATOR;
2727
use const LOCK_EX;
2828

29-
class CaptureCache extends AbstractPattern
29+
final class CaptureCache extends AbstractPattern
3030
{
3131
public function start(string|null $pageId = null): void
3232
{

src/Pattern/ObjectCache.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
use function sprintf;
1818
use function strtolower;
1919

20-
class ObjectCache extends AbstractStorageCapablePattern implements Stringable
20+
final class ObjectCache extends AbstractStorageCapablePattern implements Stringable
2121
{
2222
private CallbackCache $callbackCache;
2323

src/Pattern/OutputCache.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use function ob_implicit_flush;
1010
use function ob_start;
1111

12-
class OutputCache extends AbstractStorageCapablePattern
12+
final class OutputCache extends AbstractStorageCapablePattern
1313
{
1414
/**
1515
* The key stack

src/Psr/CacheItemPool/CacheItemPoolDecorator.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
* @link https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-6-cache.md
3838
* @link https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-6-cache-meta.md
3939
*/
40-
class CacheItemPoolDecorator implements CacheItemPoolInterface
40+
final class CacheItemPoolDecorator implements CacheItemPoolInterface
4141
{
4242
use MaximumKeyLengthTrait;
4343
use SerializationTrait;
@@ -373,8 +373,8 @@ private function validateKeys(array $keys): void
373373
}
374374

375375
/**
376-
* @psalm-param non-empty-list<CacheItem> $items
377-
* @psalm-return array<string,CacheItem>
376+
* @param non-empty-list<CacheItem> $items
377+
* @return array<string,CacheItem>
378378
*/
379379
private function saveMultipleItems(array $items, ?int $itemTtl): array
380380
{

src/Psr/MaximumKeyLengthTrait.php

+2-5
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,8 @@ trait MaximumKeyLengthTrait
2929
*/
3030
public static $pcreMaximumQuantifierLength = 65535;
3131

32-
/**
33-
* @var int
34-
* @psalm-var 0|positive-int
35-
*/
36-
private $maximumKeyLength;
32+
/** @var int<0,max> */
33+
private int $maximumKeyLength;
3734

3835
private function memoizeMaximumKeyLengthCapability(StorageInterface $storage, Capabilities $capabilities): void
3936
{

src/Psr/SimpleCache/SimpleCacheDecorator.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
/**
3535
* Decorate a laminas-cache storage adapter for usage as a PSR-16 implementation.
3636
*/
37-
class SimpleCacheDecorator implements SimpleCacheInterface
37+
final class SimpleCacheDecorator implements SimpleCacheInterface
3838
{
3939
use MaximumKeyLengthTrait;
4040
use SerializationTrait;
@@ -385,7 +385,7 @@ private function convertTtlToInteger(int|DateInterval|null $ttl): int|null
385385
}
386386

387387
/**
388-
* @psalm-return list<non-empty-string>
388+
* @return list<non-empty-string>
389389
* @throws SimpleCacheInvalidArgumentException For invalid $iterable values.
390390
*/
391391
private function convertIterableKeysToList(iterable $keys): array

src/Service/StorageAdapterFactory.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ public function assertValidConfigurationStructure(array $configuration): void
9494
}
9595

9696
/**
97-
* @psalm-param non-empty-string $adapter
98-
* @psalm-param list<mixed> $plugins
97+
* @param non-empty-string $adapter
98+
* @param list<mixed> $plugins
9999
* @psalm-assert list<PluginArrayConfigurationWithPriorityType> $plugins
100100
*/
101101
private function assertValidPluginConfigurationStructure(string $adapter, array $plugins): void

src/Service/StorageAdapterFactoryInterface.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
interface StorageAdapterFactoryInterface
2727
{
2828
/**
29-
* @psalm-param StorageAdapterArrayConfigurationType $configuration
29+
* @param StorageAdapterArrayConfigurationType $configuration
3030
*/
3131
public function createFromArrayConfiguration(array $configuration): StorageInterface;
3232

3333
/**
34-
* @psalm-param non-empty-string $storage
34+
* @param non-empty-string $storage
3535
* @param array<string,mixed> $options
36-
* @psalm-param list<PluginArrayConfigurationWithPriorityType> $plugins
36+
* @param list<PluginArrayConfigurationWithPriorityType> $plugins
3737
*/
3838
public function create(string $storage, array $options = [], array $plugins = []): StorageInterface;
3939

src/Service/StoragePluginFactoryInterface.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
interface StoragePluginFactoryInterface
1414
{
1515
/**
16-
* @psalm-param PluginArrayConfigurationType $configuration
16+
* @param PluginArrayConfigurationType $configuration
1717
*/
1818
public function createFromArrayConfiguration(array $configuration): PluginInterface;
1919

src/Storage/Adapter/KeyListIterator.php

+1-4
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,14 @@
55
use Countable;
66
use Laminas\Cache\Storage\IteratorInterface;
77
use Laminas\Cache\Storage\StorageInterface;
8-
use ReturnTypeWillChange;
98

109
use function count;
1110

1211
/**
13-
* @see ReturnTypeWillChange
14-
*
1512
* @template-covariant TValue
1613
* @template-implements IteratorInterface<non-empty-string, TValue>
1714
*/
18-
class KeyListIterator implements IteratorInterface, Countable
15+
final class KeyListIterator implements IteratorInterface, Countable
1916
{
2017
/**
2118
* The iterator mode

src/Storage/Plugin/ClearExpiredByFactor.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
use function random_int;
1010

11-
class ClearExpiredByFactor extends AbstractPlugin
11+
final class ClearExpiredByFactor extends AbstractPlugin
1212
{
1313
/**
1414
* {@inheritDoc}

src/Storage/Plugin/ExceptionHandler.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
use function call_user_func;
99

10-
class ExceptionHandler extends AbstractPlugin
10+
final class ExceptionHandler extends AbstractPlugin
1111
{
1212
/**
1313
* {@inheritDoc}

src/Storage/Plugin/IgnoreUserAbort.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use function connection_aborted;
1010
use function ignore_user_abort;
1111

12-
class IgnoreUserAbort extends AbstractPlugin
12+
final class IgnoreUserAbort extends AbstractPlugin
1313
{
1414
/**
1515
* The storage who activated ignore_user_abort.

src/Storage/Plugin/OptimizeByFactor.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
use function random_int;
1010

11-
class OptimizeByFactor extends AbstractPlugin
11+
final class OptimizeByFactor extends AbstractPlugin
1212
{
1313
/**
1414
* {@inheritDoc}

0 commit comments

Comments
 (0)