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 |
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); }
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); }