private function _applyGlobalAspects(BeanDefinition $definition, IDispatcher $dispatcher)
{
$class = $definition->getClass();
$rClass = $this->_reflectionFactory->getClass($class);
foreach ($this->_aspectManager->getAspects() as $aspect) {
$expression = $aspect->getExpression();
if (preg_match('/' . $expression . '/', $class) === 0) {
$parentClass = $rClass->getParentClass();
while ($parentClass !== false) {
if (preg_match('/' . $expression . '/', $parentClass->getName()) > 0) {
$this->_applyAspect($class, $aspect, $dispatcher);
}
$parentClass = $parentClass->getParentClass();
}
} else {
$this->_applyAspect($class, $aspect, $dispatcher);
}
}
}