1<?php 2 3/* 4 * This file is part of Twig. 5 * 6 * (c) Fabien Potencier 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12use Twig\Extension\ExtensionInterface; 13 14@trigger_error('The Twig_Test_Method class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigTest instead.', E_USER_DEPRECATED); 15 16/** 17 * Represents a method template test. 18 * 19 * @author Fabien Potencier <fabien@symfony.com> 20 * 21 * @deprecated since 1.12 (to be removed in 2.0) 22 */ 23class Twig_Test_Method extends Twig_Test 24{ 25 protected $extension; 26 protected $method; 27 28 public function __construct(ExtensionInterface $extension, $method, array $options = []) 29 { 30 $options['callable'] = [$extension, $method]; 31 32 parent::__construct($options); 33 34 $this->extension = $extension; 35 $this->method = $method; 36 } 37 38 public function compile() 39 { 40 return sprintf('$this->env->getExtension(\'%s\')->%s', \get_class($this->extension), $this->method); 41 } 42} 43