This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Fabien Potencier abb913283e bug #25756 [TwigBundle] Register TwigBridge extensions first (fancyweb)
This PR was squashed before being merged into the 3.4 branch (closes #25756).

Discussion
----------

[TwigBundle] Register TwigBridge extensions first

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/25610
| License       | MIT
| Doc PR        | -

The only extension that is really needed to display the current exception page is the `CodeExtension` so we could only prepend this one. However, prepending all of them seems safer to me in the long term.

Also I deeply looked into why this problem only appeared in 3.4 and found the reason. Before 3.4 it actually never reaches the `ExceptionController` for this kind of error because it cannot be resolved because it needs a twig instance in its constructor. This instance is directly taken from the container. Before 3.4 when an exception is thrown when you try to get a service from the container, the instance stored in the `$services` array is unset which is not the case in further versions. So in 3.4+, the `ExceptionController` can be resolved because the instance of twig is still in the container even after the initial exception.

It also means these kind of exceptions are displayed with bugs on all versions before 3.4 I guess. Actually it shows the message 2 times : one for the initial exception and the other one when it tries to resolve the `ExceptionController`.

Maybe another solution might be to use a dedicated twig instance with the right settings just for the exception page ?

Commits
-------

c8465ed97f [TwigBundle] Register TwigBridge extensions first
2018-02-07 06:32:49 +01:00
.composer Drop hirak/prestissimo 2016-05-12 07:44:15 -05:00
.github fix the Composer API being used 2018-01-18 12:52:12 +01:00
src/Symfony bug #25756 [TwigBundle] Register TwigBridge extensions first (fancyweb) 2018-02-07 06:32:49 +01:00
.editorconfig Add EditorConfig File 2012-06-16 14:08:15 +02:00
.gitignore Add appveyor.yml for C.I. on Windows 2015-08-25 23:41:37 +02:00
.php_cs.dist Merge branch '2.8' into 3.3 2018-01-03 18:13:53 +01:00
.travis.yml use libsodium to run Argon2i related tests 2018-02-06 09:09:00 +01:00
appveyor.yml Merge branch '2.8' into 3.3 2018-01-16 19:03:02 +01:00
CHANGELOG-3.0.md Merge branch '2.8' into 3.1 2016-08-05 10:37:39 +02:00
CHANGELOG-3.1.md updated CHANGELOG for 3.1.9 2017-01-12 12:43:31 -08:00
CHANGELOG-3.2.md updated CHANGELOG for 3.2.13 2017-08-01 11:40:12 +02:00
CHANGELOG-3.3.md updated CHANGELOG for 3.3.15 2018-01-05 08:28:38 +01:00
CHANGELOG-3.4.md updated CHANGELOG for 3.4.4 2018-01-29 13:29:35 +01:00
composer.json Merge branch '2.7' into 2.8 2018-01-21 20:03:25 +01:00
CONTRIBUTING.md Mention the community review guide 2016-12-18 22:02:35 +01:00
CONTRIBUTORS.md update CONTRIBUTORS for 2.7.41 2018-01-29 11:08:31 +01:00
LICENSE fixed years in copyright 2018-01-03 08:23:28 +01:00
link minor #25257 [link] clear the cache after linking (dunglas) 2017-12-01 17:33:23 -08:00
phpunit Force phpunit-bridge update (bis) 2017-11-22 10:25:38 +01:00
phpunit.xml.dist Merge branch '3.2' 2017-04-12 07:14:56 -07:00
README.md Prefer composer install instead for using Symfony Installer 2018-01-10 18:56:50 +01:00
UPGRADE-3.0.md Formatting fix in upgrade 3.0 document 2018-01-20 23:34:15 +01:00
UPGRADE-3.1.md [Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize 2016-12-08 16:02:32 +01:00
UPGRADE-3.2.md [DI] Check for privates before shared services 2017-05-23 19:58:02 +02:00
UPGRADE-3.3.md Merge branch '3.3' into 3.4 2017-11-30 15:59:23 +01:00
UPGRADE-3.4.md Fixed 'RouterInteface' typo 2017-12-20 16:01:44 +01:00
UPGRADE-4.0.md Fixed 'RouterInteface' typo 2017-12-20 16:01:44 +01:00

Symfony is a PHP framework for web applications and a set of reusable PHP components. Symfony is used by thousands of web applications (including BlaBlaCar.com and Spotify.com) and most of the popular PHP projects (including Drupal and Magento).

Installation

Documentation

Community

Contributing

Symfony is an Open Source, community-driven project with thousands of contributors. Join them contributing code or contributing documentation.

Security Issues

If you discover a security vulnerability within Symfony, please follow our disclosure procedure.

About Us

Symfony development is sponsored by SensioLabs, led by the Symfony Core Team and supported by Symfony contributors.