Module Development
Topic

Symfony for Drupal 8, 9, and 10

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 6 is a Drupal 10 dependency

Drupal 10 now uses Symfony 6 as a dependency and requires PHP 8.1.

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.

Example tasks

  • Create PHP web applications using best practices
  • Create routes and controllers
  • Create and use special PHP objects called services
  • Organize code into reusable chunks

Confidence

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). Drupal 10 uses Symfony 6, Drupal 9 uses Symfony 4, and Drupal 8.3 and earlier use Symfony 3 components. The official Symfony documentation is the canonical source and should be consulted in conjunction with other training materials. At this time, we only have Symfony videos for up to version 4.

Drupalize.Me resources

Posted on Tuesday, February 27, 2018 - 15:30 by Ryan Weaver

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?

Services

Topic
Categories
Drupal 8, 9, and 10
More information

Services are objects that encapsulate the code for performing specific tasks in a reusable and decoupled way.

Guides

Not sure where to start? Our guides provide useful learning tracks for all skill levels.

Navigate guides

External resources