class EmbedNode
Represents an embed node.
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Twig\Node\Node implements \Twig\Node\Countable, \Twig\Node\IteratorAggregate
- class \Twig\Node\IncludeNode extends \Twig\Node\Node implements \Twig\Node\NodeOutputInterface
- class \Twig\Node\EmbedNode extends \Twig\Node\IncludeNode
- class \Twig\Node\IncludeNode extends \Twig\Node\Node implements \Twig\Node\NodeOutputInterface
Expanded class hierarchy of EmbedNode
1 file declares its use of EmbedNode
- EmbedTokenParser.php in vendor/
twig/ twig/ src/ TokenParser/ EmbedTokenParser.php
File
-
vendor/
twig/ twig/ src/ Node/ EmbedNode.php, line 24
Namespace
Twig\NodeView source
class EmbedNode extends IncludeNode {
// we don't inject the module to avoid node visitors to traverse it twice (as it will be already visited in the main module)
public function __construct(string $name, int $index, ?AbstractExpression $variables, bool $only, bool $ignoreMissing, int $lineno) {
parent::__construct(new ConstantExpression('not_used', $lineno), $variables, $only, $ignoreMissing, $lineno);
$this->setAttribute('name', $name);
$this->setAttribute('index', $index);
}
protected function addGetTemplate(Compiler $compiler, string $template = '') : void {
$compiler->raw('$this->loadTemplate(')
->string($this->getAttribute('name'))
->raw(', ')
->repr($this->getTemplateName())
->raw(', ')
->repr($this->getTemplateLine())
->raw(', ')
->string($this->getAttribute('index'))
->raw(')');
if ($this->getAttribute('ignore_missing')) {
$compiler->raw(";\n")
->write(\sprintf("\$%s->getParent(\$context);\n", $template));
}
}
}