Esempio n. 1
0
    /**
     * @param BooleanNode $node
     * @return array
     * @see convert()
     */
    protected function convertBooleanNode(BooleanNode $node)
    {
        $stack = $this->convertArrayNode(new ArrayNode($node->getStack()));
        $initializationPhpCode = '// Rendering Boolean node' . chr(10);
        $initializationPhpCode .= $stack['initialization'] . chr(10);
        $parser = new BooleanParser();
        $compiledExpression = $parser->compile(BooleanNode::reconcatenateExpression($node->getStack()));
        $functionName = $this->variableName('expression');
        $initializationPhpCode .= $functionName . ' = function($context) {return ' . $compiledExpression . ';};' . chr(10);
        return array('initialization' => $initializationPhpCode, 'execution' => sprintf('%s::convertToBoolean(
					%s(
						%s::gatherContext($renderingContext, %s)
					),
					$renderingContext
				)', BooleanNode::class, $functionName, BooleanNode::class, $stack['execution']));
    }
Esempio n. 2
0
 /**
  * @param BooleanNode $node
  * @return array
  * @see convert()
  */
 protected function convertBooleanNode(BooleanNode $node)
 {
     $stack = $this->convertArrayNode(new ArrayNode($node->getStack()));
     $initializationPhpCode = '// Rendering Boolean node' . chr(10);
     $initializationPhpCode = $stack['initialization'] . chr(10);
     return array('initialization' => $initializationPhpCode, 'execution' => sprintf('\\TYPO3Fluid\\Fluid\\Core\\Parser\\SyntaxTree\\BooleanNode::evaluateStack($renderingContext, %s)', $stack['execution']));
 }