A Week of Symfony #811 (11-17 July 2022)

This week, we focused on finishing several new features for the upcoming Symfony 6.2 version: Console added support for multiple choice questions; we applied the SensitiveParameter PHP attribute to all the parameters that can contain sensitive values such as security tokens and passwords; and we enabled the use of lazy-loading ghost object proxies in Dependency Injection. Finally, we moved #[IsGranted()], #[Template()] and #[Cache()] attributes into Symfony components so we can get rid of the SensioFrameworkExtra bundle.

Symfony development highlights

This week, 42 pull requests were merged (33 in code and 9 in docs) and 25 issues were closed (17 in code and 8 in docs). Excluding merges, 27 authors made 30,698 additions and 14,089 deletions. See details for code and docs.

4.4 changelog:

43126b1: [Messenger] fix calls to deprecated DBAL methods
b1cd4b0: [HttpFoundation] fix deleteFileAfterSend on client abortion
2184f32: [BrowserKit] fix sending request to paths containing multiple slashes
92c7e6e: [HttpFoundation] flush backend output buffer after closing

5.4 changelog:

550e4cc: [Validator] fix traverse option on Valid constraint when used as Attribute
9eca550: [Validator] fix PHP warning in NotCompromisedPasswordValidator
8dd6bb7: [Serializer] prevent that bad Ignore method annotations lead to incorrect results

6.2 changelog:

7c194b9: [HttpKernel] refactored some code to remove else logic
47b66a9: [Console] add multiple select to choice()
4a31363: hide sensitive information with SensitiveParameter PHP attribute
3edca67, fa24df6: [Security] add #[IsGranted()]
378902e: [TwigBridge] add #[Template()] to describe how to render arrays returned by controllers
338daf2: [VarExporter] add trait to help implement lazy loading ghost objects
96667d3: [HttpKernel] add #[Cache()] to describe the default HTTP cache headers on controllers
d095a50: [DependencyInjection] use lazy-loading ghost object proxies out of the box
c3bad04: [TwigBridge] add test on _template attribute for Twig listener
e938174: [DependencyInjection] fix dumping lazy services with parametrized class
8a6fa52: [DependencyInjection, VarExporter] fix support for lazy withers
2bf5206: [VarExporter] do not call unset() on unknown variables
a2f27ad: [Console] be explicit about the completion API version
5bc5827: [FrameworkBundle] add „Usages“ to debug:container output

Newest issues and pull requests

Improve #[IsGranted] attribute
[Messanger] Allow AsMessageHandler to configure routing
[Serializer] Introducing an AbstractNormalizer const for custom constructor

SymfonyCasts Updates

SymfonyCasts is the official way to learn Symfony.
Select a track for a guided path through 100+ video tutorial courses about
Symfony, PHP and JavaScript.

These were some of the most relevant SymfonyCasts updates
of the week:

(Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 12: Dependency Injection
(Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 13: Parameters
(Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 14: Manual Service Config in services.yaml
(Video) Symfony 6 Fundamentals: Services, Config & Environments, Chapter 15: All About services.yaml

They talked about us

Symfony Station Communiqu̩ Р15 July 2022
Creating a Symfony project from zero to success in 52 weeks (week 2)
How to make Doctrine (way) faster

Call to Action

Follow Symfony on Twitter and retweet this article.
Subscribe to the Symfony blog RSS and never miss a Symfony story again.

Sponsor the Symfony project.

Symfony Blog
Read More

Latest News


PHP 8.1.9 released!

PHP 8.0.22 released!

PHP 7.4.30 released!