SetTemp.php (875B)
1 <?php 2 3 /* 4 * This file is part of Twig. 5 * 6 * (c) 2011 Fabien Potencier 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12 class Twig_Node_SetTemp extends Twig_Node 13 { 14 public function __construct($name, $lineno) 15 { 16 parent::__construct(array(), array('name' => $name), $lineno); 17 } 18 19 public function compile(Twig_Compiler $compiler) 20 { 21 $name = $this->getAttribute('name'); 22 $compiler 23 ->addDebugInfo($this) 24 ->write('if (isset($context[') 25 ->string($name) 26 ->raw('])) { $_') 27 ->raw($name) 28 ->raw('_ = $context[') 29 ->repr($name) 30 ->raw(']; } else { $_') 31 ->raw($name) 32 ->raw("_ = null; }\n") 33 ; 34 } 35 }