Skip to content

Commit 46c7290

Browse files
Merge branch '3.4'
* 3.4: (22 commits) Fix lazy commands registration [TwigBridge] deprecate TwigRenderer [FrameworkBundle] Set default public directory on install assets [Security] Fix wrong term in UserProviderInterface [HttpFoundation] Set meta refresh time to 0 in RedirectResponse content disable inlining deprecated services [Stopwatch] Fix precision for root section [Cache] add constructor docblocks for clarity [WebServerBundle] allowed public/ root directory to be auto-discovered along side web/ [WebServerBundle] remove duplicate code [SecurityBundle] Clarify deprecation in UserPasswordEncoderCommand::getContainer [Profiler][Validator] ValidatorDataCollector: use new DataCollector::getCasters() method [Profiler] Fix data collector getCasters() call [VarDumper] Added setMinDepth to VarCloner remove symfony/process suggestion [DI] Remove unused dynamic property [Cache] add constructor docblocks for clarity [Security] validate empty passwords again [Process] Fixed issue between process builder and exec non-conflicting anonymous service ids across files ...
2 parents 286eb4d + 1e88b35 commit 46c7290

File tree

57 files changed

+580
-112
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+580
-112
lines changed

UPGRADE-4.0.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ SecurityBundle
488488

489489
* The `UserPasswordEncoderCommand` class does not allow `null` as the first argument anymore.
490490

491-
* `UserPasswordEncoderCommand` does not implement `ContainerAwareInterface` anymore.
491+
* `UserPasswordEncoderCommand` does not extend `ContainerAwareCommand` nor implement `ContainerAwareInterface` anymore.
492492

493493
Serializer
494494
----------

src/Symfony/Bridge/Twig/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
CHANGELOG
22
=========
33

4+
3.4.0
5+
-----
6+
7+
* deprecated `Symfony\Bridge\Twig\Form\TwigRenderer`
8+
49
3.3.0
510
-----
611

src/Symfony/Bridge/Twig/Extension/FormExtension.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public function getFunctions()
8484
new TwigFunction('form', null, array('node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => array('html'))),
8585
new TwigFunction('form_start', null, array('node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => array('html'))),
8686
new TwigFunction('form_end', null, array('node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => array('html'))),
87-
new TwigFunction('csrf_token', array('Symfony\Bridge\Twig\Form\TwigRenderer', 'renderCsrfToken')),
87+
new TwigFunction('csrf_token', array('Symfony\Component\Form\FormRenderer', 'renderCsrfToken')),
8888
);
8989
}
9090

@@ -94,7 +94,7 @@ public function getFunctions()
9494
public function getFilters()
9595
{
9696
return array(
97-
new TwigFilter('humanize', array('Symfony\Bridge\Twig\Form\TwigRenderer', 'humanize')),
97+
new TwigFilter('humanize', array('Symfony\Component\Form\FormRenderer', 'humanize')),
9898
);
9999
}
100100

src/Symfony/Bridge/Twig/Form/TwigRenderer.php

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,39 @@
1111

1212
namespace Symfony\Bridge\Twig\Form;
1313

14+
@trigger_error(sprintf('The %s class is deprecated since version 3.4 and will be removed in 4.0. Use %s instead.', TwigRenderer::class, FormRenderer::class), E_USER_DEPRECATED);
15+
1416
use Symfony\Component\Form\FormRenderer;
1517
use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
1618
use Twig\Environment;
1719

1820
/**
1921
* @author Bernhard Schussek <[email protected]>
22+
*
23+
* @deprecated since version 3.4, to be removed in 4.0. Use Symfony\Component\Form\FormRenderer instead.
2024
*/
2125
class TwigRenderer extends FormRenderer implements TwigRendererInterface
2226
{
23-
/**
24-
* @var TwigRendererEngineInterface
25-
*/
26-
private $engine;
27-
2827
public function __construct(TwigRendererEngineInterface $engine, CsrfTokenManagerInterface $csrfTokenManager = null)
2928
{
3029
parent::__construct($engine, $csrfTokenManager);
30+
}
3131

32-
$this->engine = $engine;
32+
/**
33+
* Returns the engine used by this renderer.
34+
*
35+
* @return TwigRendererEngineInterface The renderer engine
36+
*/
37+
public function getEngine()
38+
{
39+
return parent::getEngine();
3340
}
3441

3542
/**
3643
* {@inheritdoc}
3744
*/
3845
public function setEnvironment(Environment $environment)
3946
{
40-
$this->engine->setEnvironment($environment);
47+
$this->getEngine()->setEnvironment($environment);
4148
}
4249
}

src/Symfony/Bridge/Twig/Node/FormThemeNode.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111

1212
namespace Symfony\Bridge\Twig\Node;
1313

14+
use Symfony\Bridge\Twig\Form\TwigRenderer;
15+
use Symfony\Component\Form\FormRenderer;
1416
use Twig\Compiler;
17+
use Twig\Error\RuntimeError;
1518
use Twig\Node\Node;
1619

1720
/**
@@ -26,9 +29,18 @@ public function __construct(Node $form, Node $resources, $lineno, $tag = null)
2629

2730
public function compile(Compiler $compiler)
2831
{
32+
try {
33+
$compiler->getEnvironment()->getRuntime(FormRenderer::class);
34+
$renderer = FormRenderer::class;
35+
} catch (RuntimeError $e) {
36+
$renderer = TwigRenderer::class;
37+
}
38+
2939
$compiler
3040
->addDebugInfo($this)
31-
->write('$this->env->getRuntime(\'Symfony\Bridge\Twig\Form\TwigRenderer\')->setTheme(')
41+
->write('$this->env->getRuntime(')
42+
->string($renderer)
43+
->raw(')->setTheme(')
3244
->subcompile($this->getNode('form'))
3345
->raw(', ')
3446
->subcompile($this->getNode('resources'))

src/Symfony/Bridge/Twig/Node/RenderBlockNode.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public function compile(Compiler $compiler)
2828
{
2929
$compiler->addDebugInfo($this);
3030
$arguments = iterator_to_array($this->getNode('arguments'));
31-
$compiler->write('$this->env->getRuntime(\'Symfony\Bridge\Twig\Form\TwigRenderer\')->renderBlock(');
31+
$compiler->write('$this->env->getRuntime(\'Symfony\Component\Form\FormRenderer\')->renderBlock(');
3232

3333
if (isset($arguments[0])) {
3434
$compiler->subcompile($arguments[0]);

src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class SearchAndRenderBlockNode extends FunctionExpression
2424
public function compile(Compiler $compiler)
2525
{
2626
$compiler->addDebugInfo($this);
27-
$compiler->raw('$this->env->getRuntime(\'Symfony\Bridge\Twig\Form\TwigRenderer\')->searchAndRenderBlock(');
27+
$compiler->raw('$this->env->getRuntime(\'Symfony\Component\Form\FormRenderer\')->searchAndRenderBlock(');
2828

2929
preg_match('/_([^_]+)$/', $this->getAttribute('name'), $matches);
3030

src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
namespace Symfony\Bridge\Twig\Tests\Extension;
1313

1414
use Symfony\Bridge\Twig\Extension\FormExtension;
15-
use Symfony\Bridge\Twig\Form\TwigRenderer;
1615
use Symfony\Bridge\Twig\Form\TwigRendererEngine;
1716
use Symfony\Bridge\Twig\Extension\TranslationExtension;
1817
use Symfony\Bridge\Twig\Tests\Extension\Fixtures\StubTranslator;
1918
use Symfony\Bridge\Twig\Tests\Extension\Fixtures\StubFilesystemLoader;
19+
use Symfony\Component\Form\FormRenderer;
2020
use Symfony\Component\Form\FormView;
2121
use Symfony\Component\Form\Tests\AbstractBootstrap3HorizontalLayoutTest;
2222
use Twig\Environment;
@@ -29,6 +29,9 @@ class FormExtensionBootstrap3HorizontalLayoutTest extends AbstractBootstrap3Hori
2929
'choice_attr',
3030
);
3131

32+
/**
33+
* @var FormRenderer
34+
*/
3235
private $renderer;
3336

3437
protected function setUp()
@@ -48,7 +51,7 @@ protected function setUp()
4851
'bootstrap_3_horizontal_layout.html.twig',
4952
'custom_widgets.html.twig',
5053
), $environment);
51-
$this->renderer = new TwigRenderer($rendererEngine, $this->getMockBuilder('Symfony\Component\Security\Csrf\CsrfTokenManagerInterface')->getMock());
54+
$this->renderer = new FormRenderer($rendererEngine, $this->getMockBuilder('Symfony\Component\Security\Csrf\CsrfTokenManagerInterface')->getMock());
5255
$this->registerTwigRuntimeLoader($environment, $this->renderer);
5356
}
5457

src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
namespace Symfony\Bridge\Twig\Tests\Extension;
1313

1414
use Symfony\Bridge\Twig\Extension\FormExtension;
15-
use Symfony\Bridge\Twig\Form\TwigRenderer;
1615
use Symfony\Bridge\Twig\Form\TwigRendererEngine;
1716
use Symfony\Bridge\Twig\Extension\TranslationExtension;
1817
use Symfony\Bridge\Twig\Tests\Extension\Fixtures\StubTranslator;
1918
use Symfony\Bridge\Twig\Tests\Extension\Fixtures\StubFilesystemLoader;
19+
use Symfony\Component\Form\FormRenderer;
2020
use Symfony\Component\Form\FormView;
2121
use Symfony\Component\Form\Tests\AbstractBootstrap3LayoutTest;
2222
use Twig\Environment;
@@ -25,6 +25,9 @@ class FormExtensionBootstrap3LayoutTest extends AbstractBootstrap3LayoutTest
2525
{
2626
use RuntimeLoaderProvider;
2727

28+
/**
29+
* @var FormRenderer
30+
*/
2831
private $renderer;
2932

3033
protected function setUp()
@@ -44,7 +47,7 @@ protected function setUp()
4447
'bootstrap_3_layout.html.twig',
4548
'custom_widgets.html.twig',
4649
), $environment);
47-
$this->renderer = new TwigRenderer($rendererEngine, $this->getMockBuilder('Symfony\Component\Security\Csrf\CsrfTokenManagerInterface')->getMock());
50+
$this->renderer = new FormRenderer($rendererEngine, $this->getMockBuilder('Symfony\Component\Security\Csrf\CsrfTokenManagerInterface')->getMock());
4851
$this->registerTwigRuntimeLoader($environment, $this->renderer);
4952
}
5053

src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
namespace Symfony\Bridge\Twig\Tests\Extension;
1313

1414
use Symfony\Bridge\Twig\Extension\FormExtension;
15-
use Symfony\Bridge\Twig\Form\TwigRenderer;
1615
use Symfony\Bridge\Twig\Form\TwigRendererEngine;
1716
use Symfony\Bridge\Twig\Extension\TranslationExtension;
1817
use Symfony\Bridge\Twig\Tests\Extension\Fixtures\StubTranslator;
1918
use Symfony\Bridge\Twig\Tests\Extension\Fixtures\StubFilesystemLoader;
2019
use Symfony\Component\Form\ChoiceList\View\ChoiceView;
20+
use Symfony\Component\Form\FormRenderer;
2121
use Symfony\Component\Form\FormView;
2222
use Symfony\Component\Form\Tests\AbstractDivLayoutTest;
2323
use Twig\Environment;
@@ -26,6 +26,9 @@ class FormExtensionDivLayoutTest extends AbstractDivLayoutTest
2626
{
2727
use RuntimeLoaderProvider;
2828

29+
/**
30+
* @var FormRenderer
31+
*/
2932
private $renderer;
3033

3134
protected function setUp()
@@ -48,7 +51,7 @@ protected function setUp()
4851
'form_div_layout.html.twig',
4952
'custom_widgets.html.twig',
5053
), $environment);
51-
$this->renderer = new TwigRenderer($rendererEngine, $this->getMockBuilder('Symfony\Component\Security\Csrf\CsrfTokenManagerInterface')->getMock());
54+
$this->renderer = new FormRenderer($rendererEngine, $this->getMockBuilder('Symfony\Component\Security\Csrf\CsrfTokenManagerInterface')->getMock());
5255
$this->registerTwigRuntimeLoader($environment, $this->renderer);
5356
}
5457

0 commit comments

Comments
 (0)