Symfony: A look back and what it all means

  • Lukas Kahwe Smith

As we were preparing the news about becoming a Sensiolabs Silver Partner, I brought back a bit to the history of Symfony here at Liip. We did do a few symfony v1 projects at Liip but things only really took off with Symfony2. Back in 2009 Fabien came to Zurich to discuss some of the Symfony2 components (still PHP 5.2 compatible at the time) he had just released as well as a few he hadn't yet released. Jordi, who was working at Liip at the time, and I integrated all of them into our company internal framework over the following months which we later presented at the Symfony Live. This means Liip in fact build the first Symfony2 framework, even before there was the official Symfony framework.

The beginnings of the Symfony community

We later then applied this knowledge when we began work on back in September 2010, which was quite likely the first large Symfony2 project in Europe. That being said, during the same time other companies like OpenSky and KnpLabs were also working on projects for the North American market. Note this is even well before the first alpha release. At this point we were all heavily contributing to the core of Symfony obviously, but we also started on the first set of Bundles that lived outside of Symfony core. The initial work by KnpLabs for a user management Bundle, which we here at Liip started to heavily improve, also spawned the creation of FriendsOfSymfony.

I would like to think that we also set the tone as Symfony being a community build around collaboration. For example FOSRestBundle was actually the merging of two separate Bundles LiipViewBundle and EverzetRestfulControllersBundle. Of course this also extended to Symfony2 core. We focused on adding new value to the PHP community rather than reinventing the wheel. As such Symfony2 today leverages lots of different libraries, even including Zend Framework, which some would say is Symfony's biggest competitor for mindshare. In fact, Zend_Log was part of the initial releases of Symfony2 and was only replaced by Monolog as it provided superior features. In some ways I think many of the good things happening today in the PHP world were a result of people using PHP 5.3's namespace as an excuse to step back and rethink how to design and maintain PHP code in general. This makes all the personal insults I had to accept as PHP 5.3 co-release-manager well worth enduring. The creation of composer played a key role in ensuring that instead of another round of reinventing the wheel, code reuse grew exponentially. It should be mentioned that composer was started by phpBB, one of the Symfony early adopters.

Growing the eco-system

I think another milestone in the history of Symfony2 was the launch of the CMF initiative. I might be biased here but I think the importance of its existence is easily overlooked. Yes to date no major CMS has adopted it entirely (but at least there is now a viable contender). But I think it helped with the mindset that in the modern PHP 5.3 world, where interfaces have become the norm. It is possible to extend low level frameworks like Symfony2 to deal with the more dynamic nature of a CMS. Obviously the most successful component is the CMF Routing which is a key piece for both Drupal 8 and ezPublish 5+, as well as several other CMS.

Influence on the PHP community

All and all I believe that Symfony has really commoditized the concept of a framework for PHP applications. Reusing an existing framework is now the standard when building new PHP applications. Any project that wants to stay alive will in the long run have to refactor on top of a framework. I realize that WordPress for now is not following this trend and I would say I totally understand them: After all they are king of the kill, running 1/5th of the entire Internet. They will be the last to feel a pressure and even if they do, they still have plenty of years of life in them. Now looking at the layer below Symfony, ie. PHP. I think the success of Symfony also shows that PHP core should really focus on providing language syntax and raw speed, leaving higher level APIs to the user land instead. There faster release cycles and the larger number of potential contributors can push things forward much better. In this spirit PHP7's performance boost is more than fulfilling that responsibility.

The take away

As such the future of PHP looks brighter than ever. The community has reinvented itself and its coding practices after the release of PHP 5.3. Symfony and its eco-system being one of the main leaders here. All the while PHP core is providing the performance and features to not only hold but further extend PHP's lead in the web world. Liip is quite proud of having played no small part in all of this as it validates the sustainability of our business: Open source leadership is also a good business model!

Qu’en penses-tu?