Neos\Flow\Aop\Builder\ProxyClassBuilder::proxySubClassesOfClassToEnsureAdvices PHP Метод

proxySubClassesOfClassToEnsureAdvices() защищенный Метод

Makes sure that any sub classes of an adviced class also build the advices array on construction.
protected proxySubClassesOfClassToEnsureAdvices ( string $className, ClassNameIndex $targetClassNameCandidates, ClassNameIndex $treatedSubClasses ) : ClassNameIndex
$className string The adviced class name
$targetClassNameCandidates ClassNameIndex target class names for advices
$treatedSubClasses ClassNameIndex Already treated (sub) classes to avoid duplication
Результат ClassNameIndex The new collection of already treated classes
    protected function proxySubClassesOfClassToEnsureAdvices($className, ClassNameIndex $targetClassNameCandidates, ClassNameIndex $treatedSubClasses)
    {
        if ($this->reflectionService->isClassReflected($className) === false) {
            return $treatedSubClasses;
        }
        if (trait_exists($className)) {
            return $treatedSubClasses;
        }
        if (interface_exists($className)) {
            return $treatedSubClasses;
        }
        $subClassNames = $this->reflectionService->getAllSubClassNamesForClass($className);
        foreach ($subClassNames as $subClassName) {
            if ($targetClassNameCandidates->hasClassName($subClassName)) {
                continue;
            }
            $treatedSubClasses = $this->addBuildMethodsAndAdvicesCodeToClass($subClassName, $treatedSubClasses);
        }
        return $treatedSubClasses;
    }