示例#1
0
 /**
  * Invocation overloading
  *
  * @param  var $context
  * @return var
  */
 public function __invoke($context)
 {
     $r = $context->lookup($this->name);
     if ($context->isCallable($r)) {
         // Subexpressions are called with their options as arguments,
         // which in turn may be subexpressions or values to be looked up.
         $pass = [];
         foreach ($this->options as $key => $option) {
             $pass[$key] = $option($context);
         }
         return $r(null, $context, $pass);
     } else {
         return $r;
     }
 }
示例#2
0
 /**
  * Invocation overloading
  *
  * @param  var $context
  * @return var
  */
 public function __invoke($context)
 {
     return $context->lookup($this->name);
 }