enterNode() public method

Called before child nodes are visited.
public enterNode ( Twig_NodeInterface $node, Twig_Environment $env )
$node Twig_NodeInterface The node to visit
$env Twig_Environment The Twig environment instance
Example #1
0
 private function traverseForVisitor(Twig_NodeVisitorInterface $visitor, Twig_Node $node)
 {
     $node = $visitor->enterNode($node, $this->env);
     foreach ($node as $k => $n) {
         if (false !== ($n = $this->traverseForVisitor($visitor, $n))) {
             $node->setNode($k, $n);
         } else {
             $node->removeNode($k);
         }
     }
     return $visitor->leaveNode($node, $this->env);
 }
Example #2
0
 public function traverse(Twig_Node $node, Twig_NodeVisitorInterface $visitor)
 {
     $node = $visitor->enterNode($node, $this->env);
     if ($node instanceof Twig_NodeListInterface) {
         $newNodes = array();
         foreach ($nodes = $node->getNodes() as $k => $n) {
             if (null !== ($n = $this->traverse($n, $visitor))) {
                 $newNodes[$k] = $n;
             }
         }
         $node->setNodes($newNodes);
     }
     return $visitor->leaveNode($node, $this->env);
 }
    protected function traverseForVisitor(Twig_NodeVisitorInterface $visitor, Twig_NodeInterface $node = null)
    {
        if (null === $node) {
            return null;
        }

        $node = $visitor->enterNode($node, $this->env);

        foreach ($node as $k => $n) {
            if (false !== $n = $this->traverseForVisitor($visitor, $n)) {
                $node->setNode($k, $n);
            } else {
                $node->removeNode($k);
            }
        }

        return $visitor->leaveNode($node, $this->env);
    }