Block.php (1010B)
1 <?php 2 3 /* 4 * This file is part of Twig. 5 * 6 * (c) 2009 Fabien Potencier 7 * (c) 2009 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 13 /** 14 * Represents a block node. 15 * 16 * @author Fabien Potencier <fabien@symfony.com> 17 */ 18 class Twig_Node_Block extends Twig_Node 19 { 20 public function __construct($name, Twig_NodeInterface $body, $lineno, $tag = null) 21 { 22 parent::__construct(array('body' => $body), array('name' => $name), $lineno, $tag); 23 } 24 25 public function compile(Twig_Compiler $compiler) 26 { 27 $compiler 28 ->addDebugInfo($this) 29 ->write(sprintf("public function block_%s(\$context, array \$blocks = array())\n", $this->getAttribute('name')), "{\n") 30 ->indent() 31 ; 32 33 $compiler 34 ->subcompile($this->getNode('body')) 35 ->outdent() 36 ->write("}\n\n") 37 ; 38 } 39 }