Project

General

Profile

1 1686 darkviper
<?php
2
3
/*
4
 * This file is part of Twig.
5
 *
6
 * (c) 2010 Fabien Potencier
7
 * (c) 2010 Arnaud Le Blanc
8
 *
9
 * For the full copyright and license information, please view the LICENSE
10
 * file that was distributed with this source code.
11
 */
12
13
/**
14
 * Represents a template function.
15
 *
16
 * @package    twig
17
 * @author     Arnaud Le Blanc <arnaud.lb@gmail.com>
18
 */
19
interface Twig_FunctionInterface
20
{
21
    /**
22
     * Compiles a function.
23
     *
24
     * @return string The PHP code for the function
25
     */
26 1852 darkviper
    public function compile();
27 1686 darkviper
28 1852 darkviper
    public function needsEnvironment();
29 1686 darkviper
30 1852 darkviper
    public function needsContext();
31 1686 darkviper
32 1852 darkviper
    public function getSafe(Twig_Node $filterArgs);
33 1686 darkviper
34 1852 darkviper
    public function setArguments($arguments);
35 1686 darkviper
36 1852 darkviper
    public function getArguments();
37 1686 darkviper
}