Method.php 734B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. /*
  3. * This file is part of Twig.
  4. *
  5. * (c) 2010 Fabien Potencier
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. /**
  11. * Represents a method template test.
  12. *
  13. * @package twig
  14. * @author Fabien Potencier <fabien@symfony.com>
  15. */
  16. class Twig_Test_Method implements Twig_TestInterface
  17. {
  18. protected $extension, $method;
  19. public function __construct(Twig_ExtensionInterface $extension, $method)
  20. {
  21. $this->extension = $extension;
  22. $this->method = $method;
  23. }
  24. public function compile()
  25. {
  26. return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method);
  27. }
  28. }