Project

General

Profile

1
<?php
2

    
3
/*
4
 * This file is part of Twig.
5
 *
6
 * (c) 2009 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
@trigger_error('The Twig_Function_Method class is deprecated since version 1.12 and will be removed in 2.0. Use Twig_SimpleFunction instead.', E_USER_DEPRECATED);
14

    
15
/**
16
 * Represents a method template function.
17
 *
18
 * Use Twig_SimpleFunction instead.
19
 *
20
 * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
21
 *
22
 * @deprecated since 1.12 (to be removed in 2.0)
23
 */
24
class Twig_Function_Method extends Twig_Function
25
{
26
    protected $extension;
27
    protected $method;
28

    
29
    public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array())
30
    {
31
        $options['callable'] = array($extension, $method);
32

    
33
        parent::__construct($options);
34

    
35
        $this->extension = $extension;
36
        $this->method = $method;
37
    }
38

    
39
    public function compile()
40
    {
41
        return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method);
42
    }
43
}
(2-2/3)