class TemplateVariable
Hierarchy
- class \Twig\Node\Node implements \Twig\Node\Countable, \Twig\Node\IteratorAggregate
- class \Twig\Node\Expression\AbstractExpression extends \Twig\Node\Node
- class \Twig\Node\Expression\TempNameExpression extends \Twig\Node\Expression\AbstractExpression
- class \Twig\Node\Expression\Variable\TemplateVariable extends \Twig\Node\Expression\TempNameExpression
- class \Twig\Node\Expression\TempNameExpression extends \Twig\Node\Expression\AbstractExpression
- class \Twig\Node\Expression\AbstractExpression extends \Twig\Node\Node
Expanded class hierarchy of TemplateVariable
5 files declare their use of TemplateVariable
- ExpressionParser.php in vendor/
twig/ twig/ src/ ExpressionParser.php - FromTokenParser.php in vendor/
twig/ twig/ src/ TokenParser/ FromTokenParser.php - ImportTokenParser.php in vendor/
twig/ twig/ src/ TokenParser/ ImportTokenParser.php - MacroReferenceExpression.php in vendor/
twig/ twig/ src/ Node/ Expression/ MacroReferenceExpression.php - Parser.php in vendor/
twig/ twig/ src/ Parser.php
File
-
vendor/
twig/ twig/ src/ Node/ Expression/ Variable/ TemplateVariable.php, line 17
Namespace
Twig\Node\Expression\VariableView source
class TemplateVariable extends TempNameExpression {
public function getName(Compiler $compiler) : string {
if (null === $this->getAttribute('name')) {
$this->setAttribute('name', $compiler->getVarName());
}
return $this->getAttribute('name');
}
public function compile(Compiler $compiler) : void {
$name = $this->getName($compiler);
if ('_self' === $name) {
$compiler->raw('$this');
}
else {
$compiler->raw('$macros[')
->string($name)
->raw(']');
}
}
}