Class yii\twig\GetAttrAdjuster

Inheritanceyii\twig\GetAttrAdjuster
ImplementsTwig\NodeVisitor\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.

Method Details

Hide inherited methods

enterNode() public method

public void enterNode ( \Twig\Node\Node $node, \Twig\Environment $env )
$node
$env

                public function enterNode(Node $node, Environment $env): Node
{
    // Is it a Twig_Node_Expression_GetAttr (and not a subclass)?
    if (get_class($node) === GetAttrExpression::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;
}

            
getPriority() public method

public void getPriority ( )

                public function getPriority()
{
    return 0;
}

            
leaveNode() public method

public void leaveNode ( \Twig\Node\Node $node, \Twig\Environment $env )
$node
$env

                public function leaveNode(Node $node, Environment $env): ?Node
{
    return $node;
}