/** * Reads annotations for a selected property in the class * * @param ReflectionProperty $property * @param ClassMetadata $metadata */ private function readProperty($property, $metadata) { $reflClass = $metadata->getReflectionClass(); // Skip if this property is not from this class if ($property->getDeclaringClass()->getName() != $metadata->getClassName()) { return; } //Iterate over all annotations foreach ($this->reader->getPropertyAnnotations($property) as $rule) { //Skip is its not a rule if (!$rule instanceof Rules\Rule) { continue; } //Add Rule $metadata->addPropertyRule($property->getName(), $rule); } }