protected function walkClassForGroup(ClassMetadata $metadata, $object, $group, $propertyPath, $propagatedGroup = null) { foreach ($metadata->findConstraints($group) as $constraint) { $this->walkConstraint($constraint, $object, $group, $propertyPath); } if ($object !== null) { foreach ($metadata->getConstrainedProperties() as $property) { $localPropertyPath = empty($propertyPath) ? $property : $propertyPath . '.' . $property; $this->walkProperty($metadata, $property, $object, $group, $localPropertyPath, $propagatedGroup); } } }
public function walkClass(ClassMetadata $metadata, $object, $group, $propertyPath) { $this->context->setCurrentClass($metadata->getClassName()); foreach ($metadata->findConstraints($group) as $constraint) { $this->walkConstraint($constraint, $object, $group, $propertyPath); } if ($object !== null) { foreach ($metadata->getConstrainedProperties() as $property) { $localPropertyPath = empty($propertyPath) ? $property : $propertyPath . '.' . $property; $this->walkProperty($metadata, $property, $object, $group, $localPropertyPath); } } }
protected function walkObjectForGroup(ClassMetadata $metadata, $object, $group, $propertyPath, $propagatedGroup = null) { $hash = spl_object_hash($object); // Exit, if the object is already validated for the current group if (isset($this->validatedObjects[$hash])) { if (isset($this->validatedObjects[$hash][$group])) { return; } } else { $this->validatedObjects[$hash] = array(); } // Remember validating this object before starting and possibly // traversing the object graph $this->validatedObjects[$hash][$group] = true; foreach ($metadata->findConstraints($group) as $constraint) { $this->walkConstraint($constraint, $object, $group, $propertyPath); } if (null !== $object) { foreach ($metadata->getConstrainedProperties() as $property) { $localPropertyPath = empty($propertyPath) ? $property : $propertyPath . '.' . $property; $this->walkProperty($metadata, $property, $object, $group, $localPropertyPath, $propagatedGroup); } } }
/** * {@inheritDoc} */ public function findConstraints($group) { return $this->validatorClassMetadata->findConstraints($group); }