Class yii\twig\GetAttrAdjuster
| Inheritance | yii\twig\GetAttrAdjuster |
|---|---|
| Implements | Twig_NodeVisitorInterface |
| Source Code | https://github.com/yiisoft/yii2-twig/blob/master/src/GetAttrAdjuster.php |
GetAttrAdjuster swaps Twig_Node_Expression_GetAttr nodes with yii\twig\GetAttr nodes.
Public Methods
| Method | Description | Defined By |
|---|---|---|
| enterNode() | yii\twig\GetAttrAdjuster | |
| getPriority() | yii\twig\GetAttrAdjuster | |
| leaveNode() | yii\twig\GetAttrAdjuster |
Method Details
| public enterNode ( \Twig_Node $node, \Twig_Environment $env ) | ||
| $node | \Twig_Node | |
| $env | \Twig_Environment | |
public function enterNode(\Twig_Node $node, \Twig_Environment $env)
{
// Is it a Twig_Node_Expression_GetAttr (and not a subclass)?
if (get_class($node) === \Twig_Node_Expression_GetAttr::class) {
// "Clone" it into a GetAttr node
$nodes = [
'node' => $node->getNode('node'),
'attribute' => $node->getNode('attribute')
];
if ($node->hasNode('arguments')) {
$nodes['arguments'] = $node->getNode('arguments');
}
$attributes = [
'type' => $node->getAttribute('type'),
'is_defined_test' => $node->getAttribute('is_defined_test'),
'ignore_strict_check' => $node->getAttribute('ignore_strict_check')
];
$node = new GetAttr($nodes, $attributes, $node->getTemplateLine(), $node->getNodeTag());
}
return $node;
}
| public leaveNode ( \Twig_Node $node, \Twig_Environment $env ) | ||
| $node | \Twig_Node | |
| $env | \Twig_Environment | |
public function leaveNode(\Twig_Node $node, \Twig_Environment $env)
{
return $node;
}