diff --git a/src/Configurator/CrudControllerConfigurator.php b/src/Configurator/CrudControllerConfigurator.php index f6fd2a7..825fc58 100644 --- a/src/Configurator/CrudControllerConfigurator.php +++ b/src/Configurator/CrudControllerConfigurator.php @@ -328,7 +328,13 @@ private function configureRoutes(OptionsResolver $resolver): void /** @var string $parentRouteParam */ $parentRouteParam = $options['parent_route_param']; - return \array_replace($value, $parent ? [$parentRouteParam => $parent->getId()] : []); // @phpstan-ignore method.notFound + if (null === $parent) { + return $value; + } + /** @var string|\Stringable $parentId */ + $parentId = $parent->getId(); // @phpstan-ignore method.notFound + + return \array_replace($value, [$parentRouteParam => (string) $parentId]); }); } diff --git a/src/Controller/AbstractCrudController.php b/src/Controller/AbstractCrudController.php index b5d7598..df49bda 100644 --- a/src/Controller/AbstractCrudController.php +++ b/src/Controller/AbstractCrudController.php @@ -715,13 +715,15 @@ public function createNavigation(?object $entity = null, array $options = []): ? if ($parentUpdate && isset($parentUpdate['route'])) { /** @var array $parentUpdateRouteParams */ $parentUpdateRouteParams = $parentUpdate['route_params']; + /** @var string|\Stringable $parentId */ + $parentId = $parent->getId(); // @phpstan-ignore method.notFound $root->add('common.nav.parent', [ 'label' => $this->translator->trans('common.nav.parent', [ 'type' => $parentOptions['title'], 'label' => $this->getEntityLabel($parent, $parentOptions), ], 'cms'), 'route' => $parentUpdate['route'], - 'route_params' => $parentUpdateRouteParams + ['id' => $parent->getId()], // @phpstan-ignore method.notFound + 'route_params' => $parentUpdateRouteParams + ['id' => (string) $parentId], ]); } } @@ -732,7 +734,9 @@ public function createNavigation(?object $entity = null, array $options = []): ? /** @var array $params */ $params = $prefixOptions['route_params']; if (null !== $entity) { - $params['id'] = $entity->getId(); // @phpstan-ignore method.notFound + /** @var string|\Stringable $entityId */ + $entityId = $entity->getId(); // @phpstan-ignore method.notFound + $params['id'] = (string) $entityId; } /** @var string $transId */ diff --git a/src/Form/Type/FileType.php b/src/Form/Type/FileType.php index 9dcf72f..192a1e4 100644 --- a/src/Form/Type/FileType.php +++ b/src/Form/Type/FileType.php @@ -40,7 +40,7 @@ public function configureOptions(OptionsResolver $resolver): void 'multiple' => false, 'mime_types' => [], 'attr' => static fn (Options $options): array => [ - 'accept' => \implode(',', (array) $options['mime_types']), + 'accept' => \implode(',', (array) $options['mime_types']), // @phpstan-ignore argument.type ], 'constraints' => static function (Options $options): array { /** @var array $mimeTypes */ diff --git a/src/PropertyAccessor/ReflectionPropertyAccessor.php b/src/PropertyAccessor/ReflectionPropertyAccessor.php index a026f8a..077eaf2 100644 --- a/src/PropertyAccessor/ReflectionPropertyAccessor.php +++ b/src/PropertyAccessor/ReflectionPropertyAccessor.php @@ -31,7 +31,7 @@ public function __construct(private readonly PropertyAccessorInterface $decorate */ public function setValue(object|array &$objectOrArray, string|PropertyPathInterface $propertyPath, mixed $value): void { - try { // @phpstan-ignore paramOut.type + try { $this->decorated->setValue($objectOrArray, $propertyPath, $value); // @phpstan-ignore paramOut.type } catch (NoSuchPropertyException $exception) { if (!\is_object($objectOrArray)) {