/** * @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; }
/** * @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; }