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
 * Interface implemented by extension classes.
14
 *
15
 * @package    twig
16
 * @author     Fabien Potencier <fabien@symfony.com>
17
 */
18
interface Twig_ExtensionInterface
19
{
20
    /**
21
     * Initializes the runtime environment.
22
     *
23
     * This is where you can load some file that contains filter functions for instance.
24
     *
25
     * @param Twig_Environment $environment The current Twig_Environment instance
26
     */
27
    public function initRuntime(Twig_Environment $environment);
28

    
29
    /**
30
     * Returns the token parser instances to add to the existing list.
31
     *
32
     * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances
33
     */
34
    public function getTokenParsers();
35

    
36
    /**
37
     * Returns the node visitor instances to add to the existing list.
38
     *
39
     * @return array An array of Twig_NodeVisitorInterface instances
40
     */
41
    public function getNodeVisitors();
42

    
43
    /**
44
     * Returns a list of filters to add to the existing list.
45
     *
46
     * @return array An array of filters
47
     */
48
    public function getFilters();
49

    
50
    /**
51
     * Returns a list of tests to add to the existing list.
52
     *
53
     * @return array An array of tests
54
     */
55
    public function getTests();
56

    
57
    /**
58
     * Returns a list of functions to add to the existing list.
59
     *
60
     * @return array An array of functions
61
     */
62
    public function getFunctions();
63

    
64
    /**
65
     * Returns a list of operators to add to the existing list.
66
     *
67
     * @return array An array of operators
68
     */
69
    public function getOperators();
70

    
71
    /**
72
     * Returns a list of global variables to add to the existing list.
73
     *
74
     * @return array An array of global variables
75
     */
76
    public function getGlobals();
77

    
78
    /**
79
     * Returns the name of the extension.
80
     *
81
     * @return string The extension name
82
     */
83
    public function getName();
84
}
(10-10/34)