1<?php 2 3/* 4 * This file is part of Twig. 5 * 6 * (c) Fabien Potencier 7 * (c) Armin Ronacher 8 * 9 * For the full copyright and license information, please view the LICENSE 10 * file that was distributed with this source code. 11 */ 12 13namespace Twig\Node; 14 15use Twig\Compiler; 16use Twig\Node\Expression\AbstractExpression; 17 18/** 19 * Represents a node that outputs an expression. 20 * 21 * @author Fabien Potencier <fabien@symfony.com> 22 */ 23class PrintNode extends Node implements NodeOutputInterface 24{ 25 public function __construct(AbstractExpression $expr, int $lineno, string $tag = null) 26 { 27 parent::__construct(['expr' => $expr], [], $lineno, $tag); 28 } 29 30 public function compile(Compiler $compiler) 31 { 32 $compiler 33 ->addDebugInfo($this) 34 ->write('echo ') 35 ->subcompile($this->getNode('expr')) 36 ->raw(";\n") 37 ; 38 } 39} 40 41class_alias('Twig\Node\PrintNode', 'Twig_Node_Print'); 42