View file engine/classes/lib/Twig/Function/Method.php

File size: 966B
  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. * Use Twig_SimpleFunction instead.
  17. *
  18. * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
  19. * @deprecated since 1.12 (to be removed in 2.0)
  20. */
  21. class Twig_Function_Method extends Twig_Function
  22. {
  23. protected $extension;
  24. protected $method;
  25.  
  26. public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array())
  27. {
  28. $options['callable'] = array($extension, $method);
  29.  
  30. parent::__construct($options);
  31.  
  32. $this->extension = $extension;
  33. $this->method = $method;
  34. }
  35.  
  36. public function compile()
  37. {
  38. return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method);
  39. }
  40. }