Your project must not contain invalid function or method calls 12
- Read doc
- Reliability
- Major
More information: https://insight.symfony.com/what-we-analyse/php.invalid_call
- /**
- * @throws InvalidOptionsException
- */
- protected function getManager(string $class, string $lookupField): ObjectManager
- {
- $manager = $this->registry->getManagerForClass($class);
- if (!$manager) {
- throw new InvalidOptionsException(\sprintf('Class "%s" is not a managed Doctrine entity.', $class));
- }
- if (!$manager->getClassMetadata($class)->hasField($lookupField)) {
- $manager = $this->registry->getManagerForClass($class);
- if (!$manager) {
- throw new InvalidOptionsException(\sprintf('Class "%s" is not a managed Doctrine entity.', $class));
- }
- if (!$manager->getClassMetadata($class)->hasField($lookupField)) {
- throw new InvalidOptionsException(\sprintf('Field "%s" does not exist in entity "%s".', $lookupField, $class));
- }
- return $manager;
- }
- $manager = $this->registry->getManagerForClass($class);
- if (!$manager) {
- throw new InvalidOptionsException(\sprintf('Class "%s" is not a managed Doctrine entity.', $class));
- }
- if (!$manager->getClassMetadata($class)->hasField($lookupField)) {
- throw new InvalidOptionsException(\sprintf('Field "%s" does not exist in entity "%s".', $lookupField, $class));
- }
- return $manager;
- }
- parent::configureOptions($resolver);
- $resolver->setNormalizer(
- 'constraints',
- function (Options $options, mixed $constraints): array {
- $this->getManager($options['class'], $options['lookup_field']);
- /** @var Constraint[] $constraints */
- $constraints = \is_array($constraints) ? $constraints : [$constraints];
- $constraints[] = new RelatedEntityExists(class: $options['class'], lookupField: $options['lookup_field']);
- parent::configureOptions($resolver);
- $resolver->setNormalizer(
- 'constraints',
- function (Options $options, mixed $constraints): array {
- $this->getManager($options['class'], $options['lookup_field']);
- /** @var Constraint[] $constraints */
- $constraints = \is_array($constraints) ? $constraints : [$constraints];
- $constraints[] = new RelatedEntityExists(class: $options['class'], lookupField: $options['lookup_field']);
- parent::configureOptions($resolver);
- $resolver->setDefaults([
- 'placeholder' => '---',
- 'translation_domain' => false,
- 'choices' => fn (Options $options): array => $this->getChoices($options['class'], $options['lookup_field']),
- ]);
- }
- /**
- * Called between requests in long-running processes, so new entities are visible.
- parent::configureOptions($resolver);
- $resolver->setDefaults([
- 'placeholder' => '---',
- 'translation_domain' => false,
- 'choices' => fn (Options $options): array => $this->getChoices($options['class'], $options['lookup_field']),
- ]);
- }
- /**
- * Called between requests in long-running processes, so new entities are visible.
- }
- $manager = $this->getManager($class, $lookupField);
- $propertyAccessor = PropertyAccess::createPropertyAccessor();
- $choices = [];
- foreach ($manager->getRepository($class)->findAll() as $entity) {
- /** @var string|int|null $value */
- $value = $propertyAccessor->getValue($entity, $lookupField);
- if (null === $value || '' === $value) {
- continue;
- }
- }
- $manager = $this->getManager($class, $lookupField);
- $propertyAccessor = PropertyAccess::createPropertyAccessor();
- $choices = [];
- foreach ($manager->getRepository($class)->findAll() as $entity) {
- /** @var string|int|null $value */
- $value = $propertyAccessor->getValue($entity, $lookupField);
- if (null === $value || '' === $value) {
- continue;
- }
- }
- }
- private function exists(RelatedEntityExists $constraint, string|int|float|bool $value): bool
- {
- $manager = $this->registry->getManagerForClass($constraint->class);
- return null !== $manager?->getRepository($constraint->class)->findOneBy([$constraint->lookupField => $value]);
- }
- }
- private function exists(RelatedEntityExists $constraint, string|int|float|bool $value): bool
- {
- $manager = $this->registry->getManagerForClass($constraint->class);
- return null !== $manager?->getRepository($constraint->class)->findOneBy([$constraint->lookupField => $value]);
- }
- }
- private function exists(RelatedEntityExists $constraint, string|int|float|bool $value): bool
- {
- $manager = $this->registry->getManagerForClass($constraint->class);
- return null !== $manager?->getRepository($constraint->class)->findOneBy([$constraint->lookupField => $value]);
- }
- }
Your project must not contain invalid instantiations 2
- Read doc
- Reliability
- Major
More information: https://insight.symfony.com/what-we-analyse/php.invalid_instantiation
- function (Options $options, mixed $constraints): array {
- $this->getManager($options['class'], $options['lookup_field']);
- /** @var Constraint[] $constraints */
- $constraints = \is_array($constraints) ? $constraints : [$constraints];
- $constraints[] = new RelatedEntityExists(class: $options['class'], lookupField: $options['lookup_field']);
- return $constraints;
- },
- );
- }
- function (Options $options, mixed $constraints): array {
- $this->getManager($options['class'], $options['lookup_field']);
- /** @var Constraint[] $constraints */
- $constraints = \is_array($constraints) ? $constraints : [$constraints];
- $constraints[] = new RelatedEntityExists(class: $options['class'], lookupField: $options['lookup_field']);
- return $constraints;
- },
- );
- }