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

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

Traverses all aspect containers and returns an array of trait introductions which match the target class.
protected getMatchingTraitNamesFromIntroductions ( array &$aspectContainers, string $targetClassName ) : array
$aspectContainers array
$targetClassName string Name of the class the pointcut should match with
Результат array array of trait names
    protected function getMatchingTraitNamesFromIntroductions(array &$aspectContainers, $targetClassName)
    {
        $introductions = [];
        /** @var AspectContainer $aspectContainer */
        foreach ($aspectContainers as $aspectContainer) {
            if (!$aspectContainer->getCachedTargetClassNameCandidates()->hasClassName($targetClassName)) {
                continue;
            }
            /** @var TraitIntroduction $introduction */
            foreach ($aspectContainer->getTraitIntroductions() as $introduction) {
                $pointcut = $introduction->getPointcut();
                if ($pointcut->matches($targetClassName, null, null, uniqid())) {
                    $introductions[] = '\\' . $introduction->getTraitName();
                }
            }
        }
        return $introductions;
    }