diff --git a/composer.json b/composer.json index 0c253c5..84c5fbf 100644 --- a/composer.json +++ b/composer.json @@ -32,6 +32,7 @@ "psr/http-server-middleware": "^1.0.2" }, "require-dev": { + "boundwize/structarmed": "^0.18.10", "laminas/laminas-coding-standard": "^3.1.0", "mikey179/vfsstream": "^1.6.12", "phpstan/phpstan": "^2.2.5", diff --git a/src/ErrorHandler.php b/src/ErrorHandler.php index 67a409c..d50a87c 100644 --- a/src/ErrorHandler.php +++ b/src/ErrorHandler.php @@ -34,7 +34,7 @@ class ErrorHandler implements ErrorHandlerInterface */ public function __construct(callable $responseFactory, ?callable $responseGenerator = null) { - $this->responseFactory = function () use ($responseFactory): ResponseInterface { + $this->responseFactory = static function () use ($responseFactory): ResponseInterface { return $responseFactory(); }; $this->responseGenerator = $responseGenerator ?: new ErrorResponseGenerator(); @@ -89,7 +89,7 @@ public function createErrorHandler(): callable /** * @throws ErrorException if error is not within the error_reporting mask. */ - return function (int $errno, string $errstr, string $errfile, int $errline): void { + return static function (int $errno, string $errstr, string $errfile, int $errline): void { if (! (error_reporting() & $errno)) { // error_reporting does not include this error return; diff --git a/src/Extra/Processor/RequestProcessor.php b/src/Extra/Processor/RequestProcessor.php index a38af50..e3ad559 100644 --- a/src/Extra/Processor/RequestProcessor.php +++ b/src/Extra/Processor/RequestProcessor.php @@ -28,7 +28,7 @@ public function process(array $data): array } else { $matches = array_filter( $sensitiveParameters, - fn (string $sensitiveParameter) => str_contains(strtolower($key), $sensitiveParameter) + static fn (string $sensitiveParameter) => str_contains(strtolower($key), $sensitiveParameter) ); if (! isset($this->sensitiveParameters[ProcessorInterface::ALL]) && count($matches) === 0) { diff --git a/src/Extra/Processor/ServerProcessor.php b/src/Extra/Processor/ServerProcessor.php index 56b7cec..4676a08 100644 --- a/src/Extra/Processor/ServerProcessor.php +++ b/src/Extra/Processor/ServerProcessor.php @@ -49,7 +49,7 @@ public function process(array $data): array private function stringToAssociativeArray(string $subject): array { - return array_reduce(explode('; ', $subject), function (array $result, string $keyValue): array { + return array_reduce(explode('; ', $subject), static function (array $result, string $keyValue): array { $keyValue = explode('=', $keyValue, 2); $result[$keyValue[0]] = $keyValue[1] ?? ''; @@ -60,7 +60,7 @@ private function stringToAssociativeArray(string $subject): array private function associativeArrayToString(array $subject): string { $subject = array_map( - fn(string $key, string $value) => sprintf('%s=%s', $key, $value), + static fn(string $key, string $value) => sprintf('%s=%s', $key, $value), array_keys($subject), $subject ); diff --git a/src/Extra/Processor/SessionProcessor.php b/src/Extra/Processor/SessionProcessor.php index f02a570..813cf54 100644 --- a/src/Extra/Processor/SessionProcessor.php +++ b/src/Extra/Processor/SessionProcessor.php @@ -13,7 +13,7 @@ class SessionProcessor extends AbstractProcessor public function process(array $data): array { return array_map( - fn (iterable $container): array => ArrayUtils::iteratorToArray($container), + static fn (iterable $container): array => ArrayUtils::iteratorToArray($container), $data ); } diff --git a/src/Extra/Processor/TraceProcessor.php b/src/Extra/Processor/TraceProcessor.php index ec632c7..91cb6bf 100644 --- a/src/Extra/Processor/TraceProcessor.php +++ b/src/Extra/Processor/TraceProcessor.php @@ -15,7 +15,7 @@ public function process(array $data): array /** * @param string[] $trace */ - fn (array $trace): string => sprintf( + static fn (array $trace): string => sprintf( '%s%s%s:%d', $trace['class'] ?? $trace['file'] ?? 'unknown', $trace['type'] ?? '->', diff --git a/src/LogErrorHandler.php b/src/LogErrorHandler.php index d971cf8..0fffaa8 100644 --- a/src/LogErrorHandler.php +++ b/src/LogErrorHandler.php @@ -43,7 +43,7 @@ public function __construct( ?LoggerInterface $logger = null, ?ExtraProvider $extraProvider = null, ) { - $this->responseFactory = function () use ($responseFactory): ResponseInterface { + $this->responseFactory = static function () use ($responseFactory): ResponseInterface { return $responseFactory(); }; $this->responseGenerator = $responseGenerator ?: new ErrorResponseGenerator(); @@ -109,7 +109,7 @@ public function createErrorHandler(): callable /** * @throws ErrorException if error is not within the error_reporting mask. */ - return function (int $errno, string $errstr, string $errfile, int $errline): void { + return static function (int $errno, string $errstr, string $errfile, int $errline): void { if (! (error_reporting() & $errno)) { // error_reporting does not include this error return; diff --git a/structarmed.php b/structarmed.php new file mode 100644 index 0000000..4ac8eed --- /dev/null +++ b/structarmed.php @@ -0,0 +1,25 @@ +withPresets(Preset::PSR4(), Preset::CODEQUALITY()) + ->layer('ReplacementStrategy', 'src/Extra/ReplacementStrategy.php') + ->layer('Processor', 'src/Extra/Processor') + ->layer('Provider', 'src/Extra/Provider') + ->layer('Extra', 'src/Extra', [ + 'src/Extra/ReplacementStrategy.php', + 'src/Extra/Processor', + 'src/Extra/Provider', + ]) + ->layer('ErrorHandler', 'src', 'src/Extra') + ->ruleset([ + 'ReplacementStrategy' => [], + 'Processor' => ['ReplacementStrategy'], + 'Provider' => ['+Processor'], + 'Extra' => ['+Provider'], + 'ErrorHandler' => ['+Extra'], + ]);