Just as a mountain climber will choose a steel carabiner over a plastic one, developers would much rather work with a framework that simplifies both their life and their daily work.
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, Symfony was conceived from the start to be fast, with a strong emphasis on performance. By way of comparison, Symfony is the fastest PHP framework .
Whatever your needs are, Symfony 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, Symfony 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. Professional Symfony support is provided by SensioLabs, but there is also an entire ecosystem that has grown up around Symfony since its launch: the community (Slack, GitHub Discussions, 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.
From the smallest brick to the complete core itself,
everything is presented as a “bundle” (or plug-in in Symfony
language) in Symfony. Each bundle is intended to add
functionality to the framework and 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.
The Symfony release process ensures the compatibility between all minor versions and provides a 3-year support for major Symfony versions.
As a highly functional environment, Symfony also guarantees a certain comfort level for developers. By taking care of a number of unpleasant tasks (development of minor functionalities, for example), Symfony 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.
Completely flexible to satisfy the needs of professionals and advanced users alike, Symfony 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.
Choosing Symfony means having a long-term vision of application assets. It also means knowing how to make the day-to-day life of developers much easier.