| 1 | <?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 |     function compile();
 | 
  
    | 27 | 
 | 
  
    | 28 |     function needsEnvironment();
 | 
  
    | 29 | 
 | 
  
    | 30 |     function needsContext();
 | 
  
    | 31 | 
 | 
  
    | 32 |     function getSafe(Twig_Node $filterArgs);
 | 
  
    | 33 | 
 | 
  
    | 34 |     function setArguments($arguments);
 | 
  
    | 35 | 
 | 
  
    | 36 |     function getArguments();
 | 
  
    | 37 | }
 |