From 71eebd3ca48092ddbd6147544d9d109c335d2a54 Mon Sep 17 00:00:00 2001 From: Luis Pabon Date: Tue, 8 Feb 2022 11:59:23 +0000 Subject: [PATCH] Crank up phpstan to level 9 --- Makefile | 2 +- phpstan.neon | 1 + src/Assert/PostgresTypeValidator.php | 2 +- src/Controller/GeneratorController.php | 7 +++---- src/Form/Generator/AbstractMySQLType.php | 1 + src/Form/Generator/PostgresType.php | 1 + src/PHPDocker/Generator/Files/PhpIni.php | 2 +- src/PHPDocker/Generator/Generator.php | 2 +- 8 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index bb0326e9..3aed7423 100644 --- a/Makefile +++ b/Makefile @@ -104,7 +104,7 @@ composer-cache-dir: @composer config cache-files-dir static-analysis: - $(PHP_RUN) vendor/bin/phpstan --ansi -v analyse -l 8 src + $(PHP_RUN) vendor/bin/phpstan --ansi -v analyse -l 9 src unit-tests: $(PHP_RUN) vendor/bin/phpunit --testdox --colors=always diff --git a/phpstan.neon b/phpstan.neon index bc015cb6..7d5633df 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,3 +1,4 @@ parameters: + checkMissingIterableValueType: false ignoreErrors: - '#Access to an undefined property Symfony\\Component\\Validator\\Constraint::\$message#' diff --git a/src/Assert/PostgresTypeValidator.php b/src/Assert/PostgresTypeValidator.php index e61e2e7a..4d93abbe 100644 --- a/src/Assert/PostgresTypeValidator.php +++ b/src/Assert/PostgresTypeValidator.php @@ -32,7 +32,7 @@ class PostgresTypeValidator extends ConstraintValidator */ public function validate(mixed $value, Constraint|PostgresType $constraint): void { - if ($value !== null && array_key_exists($value, Postgres::getChoices()) === false) { + if ($value !== null && is_string($value) && array_key_exists($value, Postgres::getChoices()) === false) { $this ->context ->buildViolation($constraint->message) diff --git a/src/Controller/GeneratorController.php b/src/Controller/GeneratorController.php index 1457c0ba..dee0de4e 100644 --- a/src/Controller/GeneratorController.php +++ b/src/Controller/GeneratorController.php @@ -48,7 +48,9 @@ public function create(Request $request): BinaryFileResponse|Response $form->handleRequest($request); if ($form->isSubmitted() === true && $form->isValid() === true) { - $project = $this->hydrateProject($form->getData()); + /** @var array $data */ + $data = $form->getData(); + $project = $this->hydrateProject($data); // Generate zip file with docker project $zipFile = $this->generator->generate($project); @@ -68,9 +70,6 @@ public function create(Request $request): BinaryFileResponse|Response ]); } - /** - * @param array $formData - */ private function hydrateProject(array $formData): Project { $phpData = $formData['phpOptions']; diff --git a/src/Form/Generator/AbstractMySQLType.php b/src/Form/Generator/AbstractMySQLType.php index ac447ab5..52c1f31d 100644 --- a/src/Form/Generator/AbstractMySQLType.php +++ b/src/Form/Generator/AbstractMySQLType.php @@ -105,6 +105,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void protected function getValidationGroups(): callable { return function (FormInterface $form) { + /** @var array $data */ $data = $form->getData(); $groups = ['Default']; diff --git a/src/Form/Generator/PostgresType.php b/src/Form/Generator/PostgresType.php index 49c5c2df..3ce530ba 100644 --- a/src/Form/Generator/PostgresType.php +++ b/src/Form/Generator/PostgresType.php @@ -76,6 +76,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void protected function getValidationGroups(): callable { return static function (FormInterface $form) { + /** @var array $data */ $data = $form->getData(); $groups = ['Default']; diff --git a/src/PHPDocker/Generator/Files/PhpIni.php b/src/PHPDocker/Generator/Files/PhpIni.php index 1807701a..9c973e5c 100644 --- a/src/PHPDocker/Generator/Files/PhpIni.php +++ b/src/PHPDocker/Generator/Files/PhpIni.php @@ -26,7 +26,7 @@ class PhpIni implements GeneratedFileInterface { - public function __construct(private Environment $twig, private Project $project) + public function __construct(private Environment $twig) { } diff --git a/src/PHPDocker/Generator/Generator.php b/src/PHPDocker/Generator/Generator.php index 326b5f4b..0c8b4f23 100644 --- a/src/PHPDocker/Generator/Generator.php +++ b/src/PHPDocker/Generator/Generator.php @@ -55,7 +55,7 @@ public function __construct( public function generate(Project $project): ArchiveInterface { $readmeMd = new ReadmeMd($this->twig, $project); - $phpIni = new PhpIni($this->twig, $project); + $phpIni = new PhpIni($this->twig); $this->archiver ->addFile($readmeMd)