Project

General

Profile

1
<?php
2

    
3
/*
4
 * This file is part of Twig.
5
 *
6
 * (c) 2009 Fabien Potencier
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11

    
12
/**
13
 * Twig_NodeVisitorInterface is the interface the all node visitor classes must implement.
14
 *
15
 * @author Fabien Potencier <fabien@symfony.com>
16
 */
17
interface Twig_NodeVisitorInterface
18
{
19
    /**
20
     * Called before child nodes are visited.
21
     *
22
     * @param Twig_NodeInterface $node The node to visit
23
     * @param Twig_Environment   $env  The Twig environment instance
24
     *
25
     * @return Twig_NodeInterface The modified node
26
     */
27
    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env);
28

    
29
    /**
30
     * Called after child nodes are visited.
31
     *
32
     * @param Twig_NodeInterface $node The node to visit
33
     * @param Twig_Environment   $env  The Twig environment instance
34
     *
35
     * @return Twig_NodeInterface|false The modified node or false if the node must be removed
36
     */
37
    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env);
38

    
39
    /**
40
     * Returns the priority for this visitor.
41
     *
42
     * Priority should be between -10 and 10 (0 is the default).
43
     *
44
     * @return int The priority level
45
     */
46
    public function getPriority();
47
}
(27-27/43)