From 310872b7a55f035a583e45340dcdcabb815c0c12 Mon Sep 17 00:00:00 2001 From: Sebastian Almberg <83243306+Sebbeben@users.noreply.github.com> Date: Tue, 10 Feb 2026 08:15:35 +0100 Subject: [PATCH] Fix PHPStan errors in PopulateKicadCommand and BatchEdaController Add @var type annotations for Doctrine repository findAll() calls so PHPStan can resolve getEdaInfo() on Footprint/Category entities. Fix array return type for numeric-string keys and add explicit callback to array_filter to satisfy strict rules. --- src/Command/PopulateKicadCommand.php | 6 +++++- src/Controller/BatchEdaController.php | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Command/PopulateKicadCommand.php b/src/Command/PopulateKicadCommand.php index 0766892e..bcfcf927 100644 --- a/src/Command/PopulateKicadCommand.php +++ b/src/Command/PopulateKicadCommand.php @@ -86,6 +86,7 @@ class PopulateKicadCommand extends Command $io->section('Current Footprint KiCad Values'); $footprintRepo = $this->entityManager->getRepository(Footprint::class); + /** @var Footprint[] $footprints */ $footprints = $footprintRepo->findAll(); $rows = []; @@ -103,6 +104,7 @@ class PopulateKicadCommand extends Command $io->section('Current Category KiCad Values'); $categoryRepo = $this->entityManager->getRepository(Category::class); + /** @var Category[] $categories */ $categories = $categoryRepo->findAll(); $rows = []; @@ -125,6 +127,7 @@ class PopulateKicadCommand extends Command $mappings = $this->getFootprintMappings(); $footprintRepo = $this->entityManager->getRepository(Footprint::class); + /** @var Footprint[] $footprints */ $footprints = $footprintRepo->findAll(); $updated = 0; @@ -174,6 +177,7 @@ class PopulateKicadCommand extends Command $mappings = $this->getCategoryMappings(); $categoryRepo = $this->entityManager->getRepository(Category::class); + /** @var Category[] $categories */ $categories = $categoryRepo->findAll(); $updated = 0; @@ -240,7 +244,7 @@ class PopulateKicadCommand extends Command * Returns footprint name to KiCad footprint path mappings. * These are based on KiCad 9.x standard library paths. * - * @return array + * @return array */ private function getFootprintMappings(): array { diff --git a/src/Controller/BatchEdaController.php b/src/Controller/BatchEdaController.php index 3810cc30..43f9b7f8 100644 --- a/src/Controller/BatchEdaController.php +++ b/src/Controller/BatchEdaController.php @@ -27,7 +27,7 @@ class BatchEdaController extends AbstractController $redirectUrl = $request->query->getString('_redirect', ''); //Parse part IDs and load parts - $idArray = array_filter(array_map('intval', explode(',', $ids))); + $idArray = array_filter(array_map('intval', explode(',', $ids)), static fn (int $id): bool => $id > 0); $parts = $this->entityManager->getRepository(Part::class)->findBy(['id' => $idArray]); if ($parts === []) {