Go\Core\AspectContainer::getByTag PHP Method

getByTag() public method

Return list of service tagged with marker
public getByTag ( string $tag ) : array
$tag string Tag to select
return array
    public function getByTag($tag);

Usage Example

Beispiel #1
0
 /**
  * Return list of advices for class
  *
  * @param string|ReflectionClass|ParsedReflectionClass $class Class to advise
  *
  * @return array|Aop\Advice[] List of advices for class
  */
 public function getAdvicesForClass($class)
 {
     $this->loader->loadAdvisorsAndPointcuts();
     $classAdvices = array();
     if (!$class instanceof ReflectionClass && !$class instanceof ParsedReflectionClass) {
         $class = new ReflectionClass($class);
     }
     $parentClass = $class->getParentClass();
     if ($parentClass && preg_match('/' . AspectContainer::AOP_PROXIED_SUFFIX . '$/', $parentClass->name)) {
         $originalClass = $parentClass;
     } else {
         $originalClass = $class;
     }
     foreach ($this->container->getByTag('advisor') as $advisorId => $advisor) {
         if ($advisor instanceof Aop\PointcutAdvisor) {
             $pointcut = $advisor->getPointcut();
             if ($pointcut->getClassFilter()->matches($class)) {
                 $classAdvices = array_merge_recursive($classAdvices, $this->getAdvicesFromAdvisor($originalClass, $advisor, $advisorId, $pointcut));
             }
         }
         if ($advisor instanceof Aop\IntroductionAdvisor) {
             if ($advisor->getClassFilter()->matches($class)) {
                 $classAdvices = array_merge_recursive($classAdvices, $this->getIntroductionFromAdvisor($originalClass, $advisor, $advisorId));
             }
         }
     }
     return $classAdvices;
 }
All Usage Examples Of Go\Core\AspectContainer::getByTag