/**
  * @param string $argumentsName
  * @param string $closureName
  * @param string $initializationPhpCode
  * @param ViewHelperNode $node
  * @param TemplateCompiler $compiler
  * @return string
  */
 public function compile($argumentsName, $closureName, &$initializationPhpCode, ViewHelperNode $node, TemplateCompiler $compiler)
 {
     list($initialization, $execution) = ViewHelperCompiler::getInstance()->compileWithCallToStaticMethod($this, $argumentsName, $closureName, ViewHelperCompiler::RENDER_STATIC, static::class);
     $contentArgumentName = $this->resolveContentArgumentName();
     $initializationPhpCode .= sprintf('%s = %s[\'%s\'] ? function() use (%s) { return %s[\'%s\']; } : %s;', $closureName, $argumentsName, $contentArgumentName, $argumentsName, $argumentsName, $contentArgumentName, $closureName);
     $initializationPhpCode .= $initialization;
     return $execution;
 }
Example #2
0
 /**
  * @param string $argumentsName
  * @param string $closureName
  * @param string $initializationPhpCode
  * @param ViewHelperNode $node
  * @param TemplateCompiler $compiler
  * @return string
  */
 public function compile($argumentsName, $closureName, &$initializationPhpCode, ViewHelperNode $node, TemplateCompiler $compiler)
 {
     list($initialization, $execution) = ViewHelperCompiler::getInstance()->compileWithCallToStaticMethod($this, $argumentsName, $closureName);
     $initializationPhpCode .= $initialization;
     return $execution;
 }
 /**
  * @param string $argumentsName
  * @param string $closureName
  * @param string $initializationPhpCode
  * @param ViewHelperNode $node
  * @param TemplateCompiler $compiler
  * @return string
  */
 public function compile($argumentsName, $closureName, &$initializationPhpCode, ViewHelperNode $node, TemplateCompiler $compiler)
 {
     list($initialization, $execution) = ViewHelperCompiler::getInstance()->compileWithCallToStaticMethodAndContentFromArgumentName($this, $argumentsName, $closureName, $this->resolveContentArgumentName(), ViewHelperCompiler::RENDER_STATIC, static::class);
     $initializationPhpCode .= $initialization;
     return $execution;
 }