This method should return one or more of the constants
Constraint::CLASS_CONSTRAINT and Constraint::PROPERTY_CONSTRAINT.
public getTargets ( ) : string | array | ||
Résultat | string | array | One or more constant values |
/** * {@inheritDoc} */ public function addConstraint(Constraint $constraint) { if (!in_array(Constraint::CLASS_CONSTRAINT, (array) $constraint->getTargets())) { throw new ConstraintDefinitionException(sprintf('The constraint %s cannot be put on classes', get_class($constraint))); } $constraint->addImplicitGroupName($this->getDefaultGroup()); parent::addConstraint($constraint); }
/** * {@inheritdoc} */ public function addConstraint(Constraint $constraint) { if (!in_array(Constraint::PROPERTY_CONSTRAINT, (array) $constraint->getTargets())) { throw new ConstraintDefinitionException(sprintf('The constraint %s cannot be put on properties or getters', get_class($constraint))); } parent::addConstraint($constraint); return $this; }
function it_doesnt_support_multi_targets_constraint($guesser, $factory, ClassMetadata $metadata, ProductValueInterface $value, AttributeInterface $attribute, Constraint $multiTargets, Constraint $validNumber) { $factory->createMetadata(Argument::any())->willReturn($metadata); $value->getAttribute()->willReturn($attribute); $attribute->getBackendType()->willReturn('varchar'); $guesser->guessConstraints($attribute)->willReturn([$multiTargets]); $multiTargets->getTargets()->willReturn([Constraint::PROPERTY_CONSTRAINT, Constraint::CLASS_CONSTRAINT]); $this->shouldThrow(new \LogicException('No support provided for constraint on many targets'))->duringGetMetadataFor($value); }
/** * @param ClassMetadata $metadata * @param Constraint $constraint * @param AttributeInterface $attribute */ protected function addConstraint(ClassMetadata $metadata, Constraint $constraint, AttributeInterface $attribute) { $target = $constraint->getTargets(); if (is_array($target)) { throw new \LogicException('No support provided for constraint on many targets'); } elseif (Constraint::PROPERTY_CONSTRAINT === $target) { $metadata->addPropertyConstraint($attribute->getBackendType(), $constraint); } elseif (Constraint::CLASS_CONSTRAINT === $target) { $metadata->addConstraint($constraint); } }
/** * {@inheritDoc} */ public function addConstraint(Constraint $constraint) { if (!in_array(Constraint::PROPERTY_CONSTRAINT, (array) $constraint->getTargets())) { throw new ConstraintDefinitionException(sprintf('The constraint %s cannot be put on properties or getters', get_class($constraint))); } if ($constraint instanceof Valid) { $this->cascaded = true; $this->collectionCascaded = $constraint->traverse; } else { parent::addConstraint($constraint); } return $this; }
/** * {@inheritdoc} */ public function addConstraint(Constraint $constraint) { if (!in_array(Constraint::CLASS_CONSTRAINT, (array) $constraint->getTargets())) { throw new ConstraintDefinitionException(sprintf('The constraint "%s" cannot be put on classes.', get_class($constraint))); } if ($constraint instanceof Valid) { throw new ConstraintDefinitionException(sprintf('The constraint "%s" cannot be put on classes.', get_class($constraint))); } if ($constraint instanceof Traverse) { if ($constraint->traverse) { // If traverse is true, traversal should be explicitly enabled $this->traversalStrategy = TraversalStrategy::TRAVERSE; } else { // If traverse is false, traversal should be explicitly disabled $this->traversalStrategy = TraversalStrategy::NONE; } // The constraint is not added return $this; } $constraint->addImplicitGroupName($this->getDefaultGroup()); parent::addConstraint($constraint); return $this; }