コード例 #1
0
 /** <code>{% extends %}</code> tag. */
 public function handleTExtends(TemplateCompilerEx $compiler, TemplateNodeEx $node, &$tag, array &$args)
 {
     $compiler->raiseIf(isset($compiler->metadata['parentTemplate']) && !empty($compiler->metadata['parentTemplate']), $node, 'This template already has a parent specified', TemplateError::E_INVALID_SYNTAX);
     $dsn = mb_substr($args[0], 1, -1);
     TemplateUtils::checkIORestriction($compiler, 'restrictExtendIO', $dsn, $compiler->metadata['usedIO'], $node);
     $compiler->metadata['parentTemplate'] = $dsn;
     // no block-level code generated
     return '';
 }