After almost 5 years of development, Drupal 8 (D8 for short) is now out. As someone who has been in the middle of a somewhat similar transition to Symfony, we know how much work is involved, and would like to start by giving a big congratulation to the Drupal Core development team and the Drupal community on reaching this major milestone.

To celebrate, we humbly present you with a virtual cake:

The power of Symfony

We at eZ decided to use Symfony back in early 2012 (around the same time as Drupal did), and after some discussion between using Symfony components, like D8 now does, and the Symfony full-stack framework, we settled for the full-stack approach.

From our experience, becoming a part of the Symfony community has added tremendous advantages to us and our own ecosystem, the main advantages being:

A highly skilled and very friendly community

PHP's best-of-breed web framework

An unlimited source of smart programming practices

High-quality, community-generated solutions (Bundles/libraries)

All in all, getting to learn Symfony will make you a better programer, and having access to a wide array of software to reuse and contribute to is a win-win.

So Drupal community, since D8 uses a few Symfony components behind the scenes, you now have a foot in the door within the Symfony ecosystem. But to get all the benefits, we highly recommend you take a step back and start to look to Symfony beyond what Drupal 8 exposes to you. If you want to learn more about the benefits of Symfony full stack, see our blog post, Exploring the Symfony2 Full Stack.

But who knows, maybe for Drupal 9, Drupal will jump on another rewrite to adopt Symfony full stack. When that day comes, we'll be the first ones to welcome you to true Symfony bliss. You could then take advantage of all the libraries and bundles from the Symfony community, or if you want to experience a CMS on top of Symfony full stack today, discover eZ Platform, coming out soon.

eZ Platform and Symfony: the full-stack story

eZ Platform is quite distinct from Drupal 8. Unlike D8, which launched their first .0 release today, we had our first minimal version of our new CMS kernel, eZ Platform kernel, back in 2012, thanks to our selection of the Symfony full-stack framework and our concern with backwards compatibility (BC). The CMS kernel was part of a dual kernel product where we combined the legacy system with the new Symfony-based eZ Platform implementation in what we called eZ Publish 5.x, allowing full BC with prior versions.

Since 2012 we have iterated several releases, and more customers and community users have gradually adopted it. They've helped us find the issues that we have solved along the way, to the point where our CMS core is now very mature with advanced features like:

Ability to serve responses, also for logged in users, directly from Varnish for performance

Clusterable cache of all database lookups

Clusterable files system abstraction for your binary content

Transparent clearing of cache on content updates

Off loading and scaling all database queries using Solr

Multi-site and multi-channel compatibility out of the box

PHP/REST API with full long-term backwards compatibility for all content model features

.. and all the good stuff inherited from the Symfony framework

In eZ's selection of the Symfony full stack, we have had the privilege of joining the extended Symfony community in developing and improving many of the features, including some mentioned above, that previously did not exist. This includes best-of-breed libraries like: FosHttpCache, Flysystem, Stash, Doctrine and many more that have excellent integrations with Symfony.

At eZ, we believe that the Symfony full-stack approach is the best way to deliver a truly great platform with the potential to take advantage of all the bundles and components available in the PHP and Symfony communities, and we are happy that Drupal is taking this first step.

Further reading