The technological benefits of Symfony in 6 easy lessons
Justin S. Morgan
Principal DevOps Engineer @ Dun & Bradstreet | Sr. Systems Engineer | PHP Developer
The technological benefits of Symfony in 6 easy lessons
Just as a mountain climber will choose a steel carabiner over a plastic one, a developer would much rather work with a framework that simplifies both his life and his daily work. Otherwise, so much code to write…
1. Faster and less greedy
In the IT world, it is not a rare occurrence for people to become concerned with the performance of an application… once they reach the end of the project! That is, once everything has been designed at both the functional and technological level. Even if you were to take everything apart, performance optimization is no easy task.
On the other hand, Symfony2 was conceived from the start to be fast, with a strong emphasis on performance. By way of comparison, Symfony2 is about 3 times faster than Symfony Version 1.4 and Zend Framework 1.10, while also taking up 2 times less memory.
2. Unlimited flexibility
Whatever your needs are, Symfony2 will be adaptable. Its dependency injector and the Event Dispatcher make it entirely configurable, with each of the bricks being fully independent. A 3-in-1 framework, of sorts:
- Full Stack (complete version): you want to develop a complex application and you need many functionalities.
- Brick by brick: you build your framework according to the functionalities that you will need.
- Microframework: as a standalone, Symfony2 can also be used to develop a specific functionality in one of your projects. Without having to redevelop everything and without installing the entire framework, but only the specific brick that you need.
Permanence is also something that relates to long-term support. Today, thissupport is naturally provided by SensioLabs. But there is also an entire ecosystem that has grown up around Symfony since its launch: the community (mailing lists, IRC, etc.) and the many other service companies that have invested in the framework.
Lastly, it is also with a view towards sustainable development that Symfony is distributed under Open Source MIT license, which does not impose constraints and allows the development of Open Source as well as proprietary applications.
3. Expandable
From the smallest brick to the complete core itself, everything is presented as a “bundle” (or plug-in in Symfony language) in Symfony2. Each bundle is intended to add functionality to the framework, of course, and each bundle can also be reused in another project or shared with the rest of the community.
In any case, the system of bundles allows everything to change within Symfony, including the core itself. Using the system’s interface contracts between bricks, the behavior of the framework thus can be changed at will, without requiring complete reconfiguration.
4. Stable and sustainable
Developed by SensioLabs, major versions of Symfony are all supported for 3 years by the company. And even for life as far as security-related issues are concerned.
For even greater stability, the minor versions of Symfony2’s contract and interface are also guaranteed and compatibility between all minor versions will be ensured on the API defined by the public interfaces.
5. The joy of developing
As a highly functional environment, Symfony2 also guarantees a certain comfort level for developers. By taking care of a number of unpleasant tasks (development of minor functionalities, for example), Symfony2 allows developers to focus on the actual highlights of an application and to both fully validate their role and improve their productivity.
Among Symfony’s tools designed to make the life of a developer much easier, there is the legendary Web Debug Toolbar, as well as native support for development environments, detailed error pages or even native security.
6. Ease of use
Completely flexible to satisfy the needs of professionals and advanced users alike, Symfony2 is also very accessible. Plentiful documentation, community and professional support, and “embedded” best practices within the framework (best practices that are natively applied without having to be aware of them or understanding them) allow a beginner to very quickly feel at ease with Symfony.