Forest header image

Symfony Finland
Random things on PHP, Symfony and web development

Drupal 8 to accelerate Symfony adoption

The Drupal project announced way back in 2012 that they are adopting Symfony Components. At that stage the Symfony2 project was less than a year old. Today Symfony stands as one of the initiators of the contemporary PHP culture we have today, but the launch of Drupal in 2015 will push Symfony mainstream.

Symfony is in itself a popular project, providing universal components and a complete HVMC framework for developers to build their applications ontop of. Drupal is the largest single PHP that has adopted many of the components provided by the Symfony community.

Drupal still has it's drupalisms, but it's a major leap towards the general PHP community. The development team chose early on in the Drupal 8 development cycle to take into use some of the solid components from the Symfony project. For the end users such as content editors this is much less visible than a common front end framework.

Drupal 8 launch on November 19th opens the floodgates for many of the Symfony Components used in the latest incarnation of Drupal. The components themselves have been tried and tested before, but they will expose a whole new side of PHP to many developers.

Granted that Symfony is not alone in ushering in the development of modern PHP, but it certainly is one of the poster childs. Many people affiliate Symfony with things that are not a part of it - such as the languages Twig and YAML. These are however both used in the Symfony2 framework and can be considered to be of the same heritage.

Symfony components and Content Management

Many content management systems built with PHP have also realised the potential of using shared components to solve common problems. This allows the projects to focus more on the task at hand - providing an interface and a repository for storing content administered by editors. A selected eight of the these tools are:

  1. Bolt CMS
  2. Concrete 5
  3. Grav
  4. eZ Platform
  5. Joomla!
  6. PageKit
  7. Sulu CMF
  8. TYPO3

This wide range of different systems will allows developers to share the skillset they have acquired across a number of different tools. For some content management needs a Drupal 8 installation might not be ideal, but the developers of that tool can still leverage their knowledge of Twig templating in Bolt CMS.

The elephant in the room is WordPress, which is large enough to warrant a completely separate ecosystem of it's own. They have has so far argued against taking shared PHP components into use, but have a solid track record on delivering value for end users. The debate on whether the technical debt of WordPress matters at all continues.

Also it is worth hoping that the content management systems also return the favor and provide code back to the Symfony community instead of just reaping the benefits. The Drupal project, for example is not well known for contributions to the wider PHP community - not at least in software components that could be used in a completely separate setting.

This will hopefully change as the Drupal Commerce project is showing great example with projects such as Intl, Addressing, Zone, Tax and Pricing being usable in across applications and frameworks.

One thing is for sure, the traffic handled by the Symfony HttpKernel Component will explode in 2016.

Written by Jani Tarvainen on Wednesday November 18, 2015
Permalink - Tags: drupal, symfony

« Magento 2 launches under new ownership - Popular Symfony components used by CMSes »