Exemple #1
0
 public function compile(ExpressCompiler $compiler, $flags = 0)
 {
     try {
         $compiler->setExtends($this->extends);
         foreach ($this->childNodes as $node) {
             $node->compile($compiler);
         }
     } catch (ExpressViewException $e) {
         throw $e;
     } catch (\Exception $e) {
         if ($this->extends === NULL) {
             throw new ExpressViewException(sprintf('Unable to compile express view'), '', $this->line, $e);
         }
         $extends = '';
         foreach ($this->extends as $node) {
             if ($node instanceof ExpressionNode) {
                 $extends .= $node->getExpression();
             } elseif ($node instanceof TextNode) {
                 $extends .= $node->getText();
             }
         }
         throw new ExpressViewException(sprintf('Unable to compile express composition extending "%s"', $extends), $compiler->getResource(), $this->line, $e);
     }
 }