Line | |
---|
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 | /** |
---|
14 | * Represents a method template function. |
---|
15 | * |
---|
16 | * @package twig |
---|
17 | * @author Arnaud Le Blanc <arnaud.lb@gmail.com> |
---|
18 | */ |
---|
19 | class Twig_Function_Method extends Twig_Function |
---|
20 | { |
---|
21 | protected $extension, $method; |
---|
22 | |
---|
23 | public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array()) |
---|
24 | { |
---|
25 | parent::__construct($options); |
---|
26 | |
---|
27 | $this->extension = $extension; |
---|
28 | $this->method = $method; |
---|
29 | } |
---|
30 | |
---|
31 | public function compile() |
---|
32 | { |
---|
33 | return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method); |
---|
34 | } |
---|
35 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.