Exemple #1
0
 /**
  * @param AbstractObject $context
  *
  * @return null
  */
 public function overloadFindFirstByName(callable $next, AbstractObject $context)
 {
     $name = $context->getArg(0);
     $element = $context->getElement();
     if ($element instanceof Field && $element->getAttribute('name') == $name) {
         return $element;
     }
     foreach ($element->getChildren() as $child) {
         $result = $child->findFirstByName($name);
         if ($result && $result != $element) {
             return $result;
         }
     }
     $context->setReturnMethod('null');
     return $next();
 }