parser; $stream = $parser->getStream(); $view = $parser->getExpressionParser()->parseExpression(); $variablesOverride = new ArrayExpression(array(), $token->getLine()); if ($stream->test(Token::NAME_TYPE, 'with')) { $stream->next(); $variablesOverride->addElement($this->parser->getExpressionParser()->parseExpression()); } $stream->expect(Token::BLOCK_END_TYPE); $viewTemplateExpr = new MethodCallExpression( $view, 'getTemplateFile', new ArrayExpression(array(), $token->getLine()), $token->getLine() ); $variablesExpr = new MethodCallExpression( $view, 'getTemplateVars', $variablesOverride, $token->getLine() ); return new IncludeNode( $viewTemplateExpr, $variablesExpr, $only = false, $ignoreMissing = false, $token->getLine() ); } /** * Returns the tag identifier. * * @return string */ public function getTag() { return 'render'; } }