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 8 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 8.
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.
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). 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.
Drupalize.Me resources
External resources
- Symfony (official) (symfony.com)
- The official home of the Symfony project. Learn about the Symfony framework, components, philosophy, and community.
- Symfony Documentation (symfony.com)
- The official source of Symfony documentation.
- Symfony in Drupal 8 (sitepoint.com)
- This is a good overview of which components are in Drupal core. Also see the issues below for more complete and updated information on versions and updates.
- Issue: Update Symfony components to ~3.2 and Issue: Update Symfony components to 3.2.8 (drupal.org)
- Symfony 3 will be included in Drupal 8 as of 8.4.x.