diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index 54e1aead..4c32dcd3 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -1,5 +1,7 @@ ['header' => $fileHeaderComment], 'modernize_strpos' => true, 'get_class_to_class_keyword' => true, + 'declare_strict_types' => true, ]) ->setRiskyAllowed(true) ->setFinder( diff --git a/src/CleverAgeProcessBundle.php b/src/CleverAgeProcessBundle.php index 7e94bede..cd704afa 100644 --- a/src/CleverAgeProcessBundle.php +++ b/src/CleverAgeProcessBundle.php @@ -34,6 +34,7 @@ public function build(ContainerBuilder $container): void $container->addCompilerPass(new CheckSerializerCompilerPass()); } + #[\Override] public function getPath(): string { return \dirname(__DIR__); diff --git a/src/Configuration/ProcessConfiguration.php b/src/Configuration/ProcessConfiguration.php index 37b06baf..48d9caa8 100644 --- a/src/Configuration/ProcessConfiguration.php +++ b/src/Configuration/ProcessConfiguration.php @@ -112,14 +112,7 @@ public function getDependencyGroups(): array if (null === $this->dependencyGroups) { $this->dependencyGroups = []; foreach ($this->getTaskConfigurations() as $taskConfiguration) { - $isInBranch = false; - foreach ($this->dependencyGroups as $branch) { - if (\in_array($taskConfiguration->getCode(), $branch, true)) { - $isInBranch = true; - break; - } - } - + $isInBranch = array_any($this->dependencyGroups, static fn ($branch) => \in_array($taskConfiguration->getCode(), $branch, true)); if (!$isInBranch) { $dependencies = $this->buildDependencies($taskConfiguration); $dependencies = $this->sortDependencies($dependencies); diff --git a/src/Configuration/TaskConfiguration.php b/src/Configuration/TaskConfiguration.php index feabfa7c..1645939e 100644 --- a/src/Configuration/TaskConfiguration.php +++ b/src/Configuration/TaskConfiguration.php @@ -112,9 +112,7 @@ public function getOutputs(): array return $this->outputs; } - /** - * @deprecated Use getErrorOutputs method instead - */ + #[\Deprecated(message: 'Use getErrorOutputs method instead')] public function getErrors(): array { @trigger_error('Deprecated method, use getErrorOutputs instead', \E_USER_DEPRECATED); diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index a3f80a5a..bdb9b8ef 100644 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -175,7 +175,7 @@ protected function appendTaskConfigDefinition(NodeBuilder $definition): void $definition->arrayNode($nodeName) ->beforeNormalization() ->ifString() - ->then(fn ($item): array => [$item])->end() + ->then(static fn ($item): array => [$item])->end() ->prototype('scalar'); } } diff --git a/src/Filesystem/CsvFile.php b/src/Filesystem/CsvFile.php index 1dc892ce..d8944e87 100644 --- a/src/Filesystem/CsvFile.php +++ b/src/Filesystem/CsvFile.php @@ -56,11 +56,13 @@ public function __construct( /** * Will return a resource if the file was created using a resource. */ + #[\Override] public function getFilePath(): string { return $this->filePath; } + #[\Override] protected function getResourceName(): string { return "CSV file '{$this->filePath}'"; diff --git a/src/Logger/TaskProcessor.php b/src/Logger/TaskProcessor.php index ac4a7d3b..374c5e46 100644 --- a/src/Logger/TaskProcessor.php +++ b/src/Logger/TaskProcessor.php @@ -17,6 +17,7 @@ class TaskProcessor extends AbstractProcessor { + #[\Override] public function __invoke(LogRecord $record): LogRecord { $record = parent::__invoke($record); diff --git a/src/Logger/TransformerProcessor.php b/src/Logger/TransformerProcessor.php index 8a61c301..b296b016 100644 --- a/src/Logger/TransformerProcessor.php +++ b/src/Logger/TransformerProcessor.php @@ -17,6 +17,7 @@ class TransformerProcessor extends AbstractProcessor { + #[\Override] public function __invoke(LogRecord $record): LogRecord { $record = parent::__invoke($record); diff --git a/src/Task/File/Csv/AbstractCsvTask.php b/src/Task/File/Csv/AbstractCsvTask.php index dd7d0cf9..2119dcb9 100644 --- a/src/Task/File/Csv/AbstractCsvTask.php +++ b/src/Task/File/Csv/AbstractCsvTask.php @@ -24,6 +24,7 @@ */ abstract class AbstractCsvTask extends AbstractCsvResourceTask { + #[\Override] protected function initFile(ProcessState $state): void { if ($this->csv instanceof CsvResource) { @@ -41,6 +42,7 @@ protected function initFile(ProcessState $state): void ); } + #[\Override] protected function configureOptions(OptionsResolver $resolver): void { parent::configureOptions($resolver); diff --git a/src/Task/File/Csv/CsvReaderTask.php b/src/Task/File/Csv/CsvReaderTask.php index afe16bd8..6168388e 100644 --- a/src/Task/File/Csv/CsvReaderTask.php +++ b/src/Task/File/Csv/CsvReaderTask.php @@ -82,6 +82,7 @@ protected function getHeaders(ProcessState $state, array $options): ?array return $options['headers']; } + #[\Override] protected function configureOptions(OptionsResolver $resolver): void { parent::configureOptions($resolver); diff --git a/src/Task/File/Csv/CsvSplitterTask.php b/src/Task/File/Csv/CsvSplitterTask.php index 234017a4..c11a0b9d 100644 --- a/src/Task/File/Csv/CsvSplitterTask.php +++ b/src/Task/File/Csv/CsvSplitterTask.php @@ -23,6 +23,7 @@ */ class CsvSplitterTask extends InputCsvReaderTask { + #[\Override] public function execute(ProcessState $state): void { $options = $this->getOptions($state); @@ -49,6 +50,7 @@ public function execute(ProcessState $state): void * return true if the task has a next element * return false if the task has terminated it's iteration. */ + #[\Override] public function next(ProcessState $state): bool { if (!$this->csv instanceof CsvResource) { @@ -64,6 +66,7 @@ public function next(ProcessState $state): bool return !$endOfFile; } + #[\Override] public function finalize(ProcessState $state): void { if ($this->csv instanceof CsvResource) { @@ -100,6 +103,7 @@ protected function splitCsv(CsvResource $csv, int $maxLines): string return $tmpFilePath; } + #[\Override] protected function configureOptions(OptionsResolver $resolver): void { parent::configureOptions($resolver); diff --git a/src/Task/File/Csv/CsvWriterTask.php b/src/Task/File/Csv/CsvWriterTask.php index e20532a6..c4c70e55 100644 --- a/src/Task/File/Csv/CsvWriterTask.php +++ b/src/Task/File/Csv/CsvWriterTask.php @@ -43,6 +43,7 @@ public function proceed(ProcessState $state): void $state->setOutput($this->csv->getFilePath()); } + #[\Override] protected function configureOptions(OptionsResolver $resolver): void { parent::configureOptions($resolver); diff --git a/src/Task/File/Csv/InputCsvReaderTask.php b/src/Task/File/Csv/InputCsvReaderTask.php index 7afc735c..2234a263 100644 --- a/src/Task/File/Csv/InputCsvReaderTask.php +++ b/src/Task/File/Csv/InputCsvReaderTask.php @@ -21,6 +21,7 @@ */ class InputCsvReaderTask extends CsvReaderTask { + #[\Override] protected function getOptions(ProcessState $state): array { $options = parent::getOptions($state); @@ -31,6 +32,7 @@ protected function getOptions(ProcessState $state): array return $options; } + #[\Override] protected function configureOptions(OptionsResolver $resolver): void { parent::configureOptions($resolver); diff --git a/src/Task/File/InputFileReaderTask.php b/src/Task/File/InputFileReaderTask.php index 5c638ff9..d378a6dd 100644 --- a/src/Task/File/InputFileReaderTask.php +++ b/src/Task/File/InputFileReaderTask.php @@ -21,6 +21,7 @@ */ class InputFileReaderTask extends FileReaderTask { + #[\Override] protected function getOptions(ProcessState $state): array { $options = parent::getOptions($state); @@ -31,6 +32,7 @@ protected function getOptions(ProcessState $state): array return $options; } + #[\Override] protected function configureOptions(OptionsResolver $resolver): void { parent::configureOptions($resolver); diff --git a/src/Task/File/InputFolderBrowserTask.php b/src/Task/File/InputFolderBrowserTask.php index 2d6bb67b..a0151ae1 100644 --- a/src/Task/File/InputFolderBrowserTask.php +++ b/src/Task/File/InputFolderBrowserTask.php @@ -31,11 +31,13 @@ public function flush(ProcessState $state): void $state->setSkipped(true); } + #[\Override] public function initialize(ProcessState $state): void { parent::getOptions($state); } + #[\Override] protected function configureOptions(OptionsResolver $resolver): void { parent::configureOptions($resolver); @@ -47,6 +49,7 @@ protected function configureOptions(OptionsResolver $resolver): void $resolver->setAllowedTypes('base_folder_path', ['string']); } + #[\Override] protected function getOptions(ProcessState $state): array { $options = parent::getOptions($state); diff --git a/src/Task/File/InputLineReaderTask.php b/src/Task/File/InputLineReaderTask.php index 6ae852b6..73ac0ea2 100644 --- a/src/Task/File/InputLineReaderTask.php +++ b/src/Task/File/InputLineReaderTask.php @@ -21,6 +21,7 @@ */ class InputLineReaderTask extends LineReaderTask { + #[\Override] protected function getOptions(ProcessState $state): array { $options = parent::getOptions($state); @@ -31,6 +32,7 @@ protected function getOptions(ProcessState $state): array return $options; } + #[\Override] protected function configureOptions(OptionsResolver $resolver): void { parent::configureOptions($resolver); diff --git a/src/Task/FilterTask.php b/src/Task/FilterTask.php index 8ea0abae..290ba13e 100644 --- a/src/Task/FilterTask.php +++ b/src/Task/FilterTask.php @@ -28,6 +28,7 @@ class FilterTask extends AbstractConfigurableTask { use ConditionTrait; + #[\Override] public function initialize(ProcessState $state): void { parent::initialize($state); diff --git a/src/Task/IterableBatchTask.php b/src/Task/IterableBatchTask.php index 9b751fba..b8840a74 100644 --- a/src/Task/IterableBatchTask.php +++ b/src/Task/IterableBatchTask.php @@ -35,6 +35,7 @@ public function __construct( ) { } + #[\Override] public function initialize(ProcessState $state): void { parent::initialize($state); diff --git a/src/Task/Process/ProcessExecutorTask.php b/src/Task/Process/ProcessExecutorTask.php index 6b27a171..6775e6c5 100644 --- a/src/Task/Process/ProcessExecutorTask.php +++ b/src/Task/Process/ProcessExecutorTask.php @@ -45,6 +45,7 @@ public function execute(ProcessState $state): void $state->setOutput($output); } + #[\Override] public function initialize(ProcessState $state): void { parent::initialize($state); diff --git a/src/Task/Process/ProcessLauncherTask.php b/src/Task/Process/ProcessLauncherTask.php index 8b3c4aad..30d5e6da 100644 --- a/src/Task/Process/ProcessLauncherTask.php +++ b/src/Task/Process/ProcessLauncherTask.php @@ -209,7 +209,7 @@ function (Options $options, $value) { $resolver->setAllowedTypes('sleep_interval', ['integer', 'double']); $resolver->setAllowedTypes('sleep_interval_after_launch', ['integer', 'double']); $resolver->setAllowedTypes('sleep_on_finalize_interval', ['integer', 'double']); - $microsecondNormalizer = fn (Options $options, $value): int => (int) ($value * 1_000_000); + $microsecondNormalizer = static fn (Options $options, $value): int => (int) ($value * 1_000_000); $resolver->setNormalizer('sleep_interval', $microsecondNormalizer); $resolver->setNormalizer('sleep_interval_after_launch', $microsecondNormalizer); $resolver->setNormalizer('sleep_on_finalize_interval', $microsecondNormalizer); diff --git a/src/Task/SplitJoinLineTask.php b/src/Task/SplitJoinLineTask.php index 6d695c5b..9b6a614a 100644 --- a/src/Task/SplitJoinLineTask.php +++ b/src/Task/SplitJoinLineTask.php @@ -21,6 +21,7 @@ */ class SplitJoinLineTask extends AbstractIterableOutputTask { + #[\Override] public function next(ProcessState $state): bool { $valid = parent::next($state); diff --git a/src/Transformer/CachedTransformer.php b/src/Transformer/CachedTransformer.php index 5fff4923..bcdcb38e 100644 --- a/src/Transformer/CachedTransformer.php +++ b/src/Transformer/CachedTransformer.php @@ -44,7 +44,7 @@ public function configureOptions(OptionsResolver $resolver): void $resolver->setAllowedTypes('ttl', ['null', 'string', \DateTimeInterface::class]); $resolver->setNormalizer( 'ttl', - function (Options $options, $value) { + static function (Options $options, $value) { /* * Best use is a relative date string like "+1 hour". * diff --git a/src/Transformer/RulesTransformer.php b/src/Transformer/RulesTransformer.php index 22115368..7ef7d4e2 100644 --- a/src/Transformer/RulesTransformer.php +++ b/src/Transformer/RulesTransformer.php @@ -114,7 +114,7 @@ public function configureRuleOptions(OptionsResolver $resolver, ?array $expressi }; $resolver->setNormalizer('condition', $expressionNormalizer); - $resolver->setNormalizer('default', function (Options $options, $value) { + $resolver->setNormalizer('default', static function (Options $options, $value) { if ($value && $options['condition']) { throw new \InvalidArgumentException('A rule cannot have a condition and be the default in the same time'); }