public getConditions ( ReflectionClass $class ) : array | ||
$class | ReflectionClass | |
Résultat | array |
public function getConditions(ReflectionClass $class)
{
$annotations = [];
$parentClasses = [];
while ($class = $class->getParentClass()) {
$parentClasses[] = $class;
}
foreach ($parentClasses as $parentClass) {
$annotations = array_merge($annotations, $this->annotationReader->getClassAnnotations($parentClass));
}
$contracts = $this->filterContractAnnotation($annotations);
return $contracts;
}
/** * @param ReflectionClass $class * @return array */ private function fetchAllContracts(ReflectionClass $class) { $allContracts = $this->invariantFetcher->getConditions($class); foreach ($this->reader->getClassAnnotations($class) as $annotation) { if ($annotation instanceof Invariant) { $allContracts[] = $annotation; } } return array_unique($allContracts); }