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.
- 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 2 and 3 produced by our friends Ryan Weaver--Symfony documentation lead--and Leanna Pelham at KnpUniversity. The current version of Symfony is 3, but Drupal 8.3 and earlier use Symfony 2 components, so we have included tutorials for both versions. The official Symfony documentation is the canonical source and should be consulted in conjunction with other training materials.
The following tutorials available on Drupalize.Me were produced by our friends at KnpUniversity.
- Learn how to get set up with Symfony and work with some major pieces, such as Composer, Routing, Controllers, and Doctrine.
- Introduction to Symfony 3.
- Learn the fundamental concepts of bundles, configuration and environments. Discover what all the files in a Symfony project do and why, the purpose of bundles, and the power behind environments.
- Learn about services, the services container, and Dependency Injection in Symfony. Drupal 8 uses these components so the experience will be helpful for anyone developing Drupal modules.
- Learn more about Drupal 8's use of services.