fixed Twig support for 1.26 and 2.0

This commit is contained in:
Fabien Potencier 2016-09-28 11:43:20 -07:00
parent da6c664e98
commit 24e9cf2155
16 changed files with 29 additions and 28 deletions

View File

@ -21,7 +21,7 @@
"paragonie/random_compat": "~1.0", "paragonie/random_compat": "~1.0",
"symfony/polyfill-apcu": "~1.1", "symfony/polyfill-apcu": "~1.1",
"symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-mbstring": "~1.1",
"twig/twig": "~1.23|~2.0", "twig/twig": "~1.26|~2.0",
"psr/log": "~1.0" "psr/log": "~1.0"
}, },
"replace": { "replace": {

View File

@ -30,7 +30,7 @@ class FormThemeNode extends \Twig_Node
{ {
$compiler $compiler
->addDebugInfo($this) ->addDebugInfo($this)
->write('$this->env->getExtension(\'form\')->renderer->setTheme(') ->write('$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->setTheme(')
->subcompile($this->getNode('form')) ->subcompile($this->getNode('form'))
->raw(', ') ->raw(', ')
->subcompile($this->getNode('resources')) ->subcompile($this->getNode('resources'))

View File

@ -25,7 +25,7 @@ class RenderBlockNode extends \Twig_Node_Expression_Function
{ {
$compiler->addDebugInfo($this); $compiler->addDebugInfo($this);
$arguments = iterator_to_array($this->getNode('arguments')); $arguments = iterator_to_array($this->getNode('arguments'));
$compiler->write('$this->env->getExtension(\'form\')->renderer->renderBlock('); $compiler->write('$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->renderBlock(');
if (isset($arguments[0])) { if (isset($arguments[0])) {
$compiler->subcompile($arguments[0]); $compiler->subcompile($arguments[0]);

View File

@ -19,7 +19,7 @@ class SearchAndRenderBlockNode extends \Twig_Node_Expression_Function
public function compile(\Twig_Compiler $compiler) public function compile(\Twig_Compiler $compiler)
{ {
$compiler->addDebugInfo($this); $compiler->addDebugInfo($this);
$compiler->raw('$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock('); $compiler->raw('$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(');
preg_match('/_([^_]+)$/', $this->getAttribute('name'), $matches); preg_match('/_([^_]+)$/', $this->getAttribute('name'), $matches);

View File

@ -32,11 +32,11 @@ class StopwatchNode extends \Twig_Node
->raw(' = ') ->raw(' = ')
->subcompile($this->getNode('name')) ->subcompile($this->getNode('name'))
->write(";\n") ->write(";\n")
->write("\$this->env->getExtension('stopwatch')->getStopwatch()->start(") ->write("\$this->env->getExtension('Symfony\Bridge\Twig\Extension\StopwatchExtension')->getStopwatch()->start(")
->subcompile($this->getNode('var')) ->subcompile($this->getNode('var'))
->raw(", 'template');\n") ->raw(", 'template');\n")
->subcompile($this->getNode('body')) ->subcompile($this->getNode('body'))
->write("\$this->env->getExtension('stopwatch')->getStopwatch()->stop(") ->write("\$this->env->getExtension('Symfony\Bridge\Twig\Extension\StopwatchExtension')->getStopwatch()->stop(")
->subcompile($this->getNode('var')) ->subcompile($this->getNode('var'))
->raw(");\n") ->raw(");\n")
; ;

View File

@ -54,7 +54,7 @@ class TransNode extends \Twig_Node
$method = !$this->hasNode('count') ? 'trans' : 'transChoice'; $method = !$this->hasNode('count') ? 'trans' : 'transChoice';
$compiler $compiler
->write('echo $this->env->getExtension(\'translator\')->getTranslator()->'.$method.'(') ->write('echo $this->env->getExtension(\'Symfony\Bridge\Twig\Extension\TranslationExtension\')->getTranslator()->'.$method.'(')
->subcompile($msg) ->subcompile($msg)
; ;

View File

@ -45,7 +45,7 @@ class FormThemeTest extends \PHPUnit_Framework_TestCase
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->setTheme(%s, array(0 => "tpl1", 1 => "tpl2"));', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->setTheme(%s, array(0 => "tpl1", 1 => "tpl2"));',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())
@ -57,7 +57,7 @@ class FormThemeTest extends \PHPUnit_Framework_TestCase
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->setTheme(%s, "tpl1");', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->setTheme(%s, "tpl1");',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())

View File

@ -27,7 +27,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'widget\')', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'widget\')',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())
@ -50,7 +50,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'widget\', array("foo" => "bar"))', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'widget\', array("foo" => "bar"))',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())
@ -70,7 +70,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\', array("label" => "my label"))', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\', array("label" => "my label"))',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())
@ -92,7 +92,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
// Otherwise the default label is overwritten with null. // Otherwise the default label is overwritten with null.
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\')', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\')',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())
@ -114,7 +114,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
// Otherwise the default label is overwritten with null. // Otherwise the default label is overwritten with null.
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\')', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\')',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())
@ -133,7 +133,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\')', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\')',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())
@ -160,7 +160,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
// https://github.com/symfony/symfony/issues/5029 // https://github.com/symfony/symfony/issues/5029
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar"))', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar"))',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())
@ -186,7 +186,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar", "label" => "value in argument"))', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar", "label" => "value in argument"))',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())
@ -217,7 +217,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
// https://github.com/symfony/symfony/issues/5029 // https://github.com/symfony/symfony/issues/5029
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\', (twig_test_empty($_label_ = ((true) ? (null) : (null))) ? array() : array("label" => $_label_)))', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\', (twig_test_empty($_label_ = ((true) ? (null) : (null))) ? array() : array("label" => $_label_)))',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())
@ -254,7 +254,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
// https://github.com/symfony/symfony/issues/5029 // https://github.com/symfony/symfony/issues/5029
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar", "label" => "value in attributes") + (twig_test_empty($_label_ = ((true) ? (null) : (null))) ? array() : array("label" => $_label_)))', '$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar", "label" => "value in attributes") + (twig_test_empty($_label_ = ((true) ? (null) : (null))) ? array() : array("label" => $_label_)))',
$this->getVariableGetter('form') $this->getVariableGetter('form')
), ),
trim($compiler->compile($node)->getSource()) trim($compiler->compile($node)->getSource())

View File

@ -29,7 +29,7 @@ class TransNodeTest extends \PHPUnit_Framework_TestCase
$this->assertEquals( $this->assertEquals(
sprintf( sprintf(
'echo $this->env->getExtension(\'translator\')->getTranslator()->trans("trans %%var%%", array_merge(array("%%var%%" => %s), %s), "messages");', 'echo $this->env->getExtension(\'Symfony\Bridge\Twig\Extension\TranslationExtension\')->getTranslator()->trans("trans %%var%%", array_merge(array("%%var%%" => %s), %s), "messages");',
$this->getVariableGetterWithoutStrictCheck('var'), $this->getVariableGetterWithoutStrictCheck('var'),
$this->getVariableGetterWithStrictCheck('foo') $this->getVariableGetterWithStrictCheck('foo')
), ),

View File

@ -82,7 +82,7 @@ class TwigExtractor extends AbstractFileExtractor implements ExtractorInterface
protected function extractTemplate($template, MessageCatalogue $catalogue) protected function extractTemplate($template, MessageCatalogue $catalogue)
{ {
$visitor = $this->twig->getExtension('translator')->getTranslationNodeVisitor(); $visitor = $this->twig->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->getTranslationNodeVisitor();
$visitor->enable(); $visitor->enable();
$this->twig->parse($this->twig->tokenize($template)); $this->twig->parse($this->twig->tokenize($template));

View File

@ -17,7 +17,7 @@
], ],
"require": { "require": {
"php": ">=5.3.9", "php": ">=5.3.9",
"twig/twig": "~1.23|~2.0" "twig/twig": "~1.26|~2.0"
}, },
"require-dev": { "require-dev": {
"symfony/asset": "~2.7", "symfony/asset": "~2.7",

View File

@ -37,7 +37,7 @@
"symfony/yaml": "~2.0,>=2.0.5", "symfony/yaml": "~2.0,>=2.0.5",
"symfony/expression-language": "~2.6", "symfony/expression-language": "~2.6",
"doctrine/doctrine-bundle": "~1.2", "doctrine/doctrine-bundle": "~1.2",
"twig/twig": "~1.23|~2.0", "twig/twig": "~1.26|~2.0",
"ircmaxell/password-compat": "~1.0" "ircmaxell/password-compat": "~1.0"
}, },
"autoload": { "autoload": {

View File

@ -37,12 +37,12 @@ class EnvironmentConfigurator
public function configure(\Twig_Environment $environment) public function configure(\Twig_Environment $environment)
{ {
$environment->getExtension('core')->setDateFormat($this->dateFormat, $this->intervalFormat); $environment->getExtension('Twig_Extension_Core')->setDateFormat($this->dateFormat, $this->intervalFormat);
if (null !== $this->timezone) { if (null !== $this->timezone) {
$environment->getExtension('core')->setTimezone($this->timezone); $environment->getExtension('Twig_Extension_Core')->setTimezone($this->timezone);
} }
$environment->getExtension('core')->setNumberFormat($this->decimals, $this->decimalPoint, $this->thousandsSeparator); $environment->getExtension('Twig_Extension_Core')->setNumberFormat($this->decimals, $this->decimalPoint, $this->thousandsSeparator);
} }
} }

View File

@ -34,7 +34,7 @@ class RenderNode extends \Twig_Node
{ {
$compiler $compiler
->addDebugInfo($this) ->addDebugInfo($this)
->write("echo \$this->env->getExtension('actions')->renderUri(") ->write("echo \$this->env->getExtension('Symfony\Bundle\TwigBundle\Extension\ActionsExtension')->renderUri(")
->subcompile($this->getNode('expr')) ->subcompile($this->getNode('expr'))
->raw(', ') ->raw(', ')
->subcompile($this->getNode('options')) ->subcompile($this->getNode('options'))

View File

@ -49,7 +49,7 @@ class TwigEngine extends BaseEngine implements EngineInterface
{ {
@trigger_error('The '.__METHOD__.' method is deprecated since version 2.7 and will be removed in 3.0. Inject the escaping strategy in the Twig_Environment object instead.', E_USER_DEPRECATED); @trigger_error('The '.__METHOD__.' method is deprecated since version 2.7 and will be removed in 3.0. Inject the escaping strategy in the Twig_Environment object instead.', E_USER_DEPRECATED);
$this->environment->getExtension('escaper')->setDefaultStrategy($strategy); $this->environment->getExtension('Twig_Extension_Escaper')->setDefaultStrategy($strategy);
} }
/** /**

View File

@ -19,6 +19,7 @@
"php": ">=5.3.9", "php": ">=5.3.9",
"symfony/asset": "~2.7", "symfony/asset": "~2.7",
"symfony/twig-bridge": "~2.7", "symfony/twig-bridge": "~2.7",
"twig/twig": "~1.26|~2.0",
"symfony/http-foundation": "~2.5", "symfony/http-foundation": "~2.5",
"symfony/http-kernel": "~2.7" "symfony/http-kernel": "~2.7"
}, },