In November 2017, Symfony released its latest major version: Symfony 4! That's great! Right? But what does this mean for Drupal? And more importantly, what does it mean for your Drupal projects?
Symfony is an application framework written in PHP that can be used to create robust web applications. The Symfony framework consists of numerous reusable components, many of which Drupal includes in its core library. Learning Symfony will help you advance your skills as a web developer as well as give you a greater understanding of how things work "under the hood" in Drupal.
What is Symfony?
Symfony is a set of PHP Components, a Web Application framework, a Philosophy, and a Community -- all working together in harmony.
What are Symfony Components?
A set of decoupled and reusable components on which the best PHP applications are built, such as Drupal, phpBB, and eZ Publish.
Symfony 3 to 4.4 in Drupal 9
Drupal 9's release was planned to ensure security support for the most important third-party dependency, Symfony. Since Symfony 3 will be end-of-life in November 2021, Drupal 9 is updated to Symfony 4.4. While Symfony 5 is now available, the disruption of jumping from Symfony 3 to 5 was too great for Drupal 9's release; however, we will try to ensure Drupal 9 is as forward-compatible with Symfony 5 as possible.
- Create PHP web applications using best practices
- Create routes and controllers
- Create and use special PHP objects called services
- Organize code into reusable chunks
Drupalize.Me includes resources for learning Symfony versions 3 and 4 produced by our friends Ryan Weaver--Symfony documentation lead--and Leanna Pelham at SymfonyCasts (formerly KnpUniversity). The current version of Symfony is 4, but Drupal 8.3 and earlier use Symfony 3 components, and we have included tutorials for all versions. The official Symfony documentation is the canonical source and should be consulted in conjunction with other training materials.