A brief overview of Symfony. Relevance. Is it worth a try?
Good day to all! We are launching the third partnership course - PHP Developer , where we have prepared a program together with Avito, and now we think whether it is worth doing a special course on frameworks separately. Symfony was the first to be considered.
A Little History
Symfony is one of the most popular web development frameworks in the world.
It has come a long way from the fully integrated full-stack framework with back-office in Symfony 1.x to a framework that was a development of the Java community, which contained components inspired by JEE in the Symfony2 version.
Symfony2 initially required PHP 5.2.7, but PHP 5.3, which was just released at that time, had a new object-oriented model, so SensioLabs immediately made this version mandatory. Already after, Symfony used Composer, completed the documentation and completely translated it into English.
Almost immediately, the migration of large open-source projects to Symfony began: OroCRM, EzPublish, Drupal8, PHPBB, PrestaShop, Piwik and many others - some of them completely switched to this framework, and some used only separate software components. It is worth noting Drupal8 - perhaps this was not the very first project, but certainly one of the largest CMS on the market.
The ability to use only individual software components of Symfony allowed enriching the ecosystem with specialized software solutions. This has shifted the Standard Edition framework (the so-called “full edition” or “meta-package”) into the shadows, which could no longer be the answer to pressing business questions. Therefore, in 2017, the creator of Symfony announced that version 3.4 would be the last for him.

A partial list of the most famous projects using Symfony:
New Breath - Symfony Flex
The Flex plugin for Composer is a future replacement for the Standard Edition. It will make the development of Symfony applications much easier.
The developer will have the opportunity to choose and add the dependencies he needs using the YAML format files. They will explain to Flex what to do: add a dependency, configure and register a bundle or, for example, create a folder.
Find Flex recipes in the SensioLabs approved catalog. In addition to it, there is also a public source where everyone can add their own recipe and make it accessible to everyone.
In order to release the RESTful API in 2017 using Flex, you need to turn to the API Platform. It is available through Flex, so to get a fully working application, just run one command.
Many believe that the main focus of the Symfony project is not on the framework itself, but on maintaining high-quality software systems and their detailed documentation, and I cannot disagree with them. I think this conclusion was influenced by the relative success of Symfony 3 and the popularity of software solutions like Akeneo. In my opinion, the Symfony team is moving in the right direction :)
The Composer plugin is compatible with Symfony 3.3 and is completely independent of Symfony 4, so now you can start trying and experimenting.
Symfony in 2017
If you want to quickly understand the API Platform, Akeneo, Marello, Sylius, Drupal8, Laravel or the Symfony Standard Edition framework, then exploring the Symfony ecosystem can help you a lot. It is worth paying attention to the following points:
Symfony Components Symfony
components are well-documented, supported by a huge community and are constantly evolving - for this we love them very much.
The use of specific components and their study certainly depends on the project. But these libraries, in my opinion, are the most useful:
All these components are used in the largest PHP projects and can work "autonomously".
Here is such a brief review, which, in general, makes us look in this direction, as the first special course for a separate course.
THE END
As always, your opinions are interesting either here in the comments, or on our Open Day .
A Little History
Symfony is one of the most popular web development frameworks in the world.
It has come a long way from the fully integrated full-stack framework with back-office in Symfony 1.x to a framework that was a development of the Java community, which contained components inspired by JEE in the Symfony2 version.
Symfony2 initially required PHP 5.2.7, but PHP 5.3, which was just released at that time, had a new object-oriented model, so SensioLabs immediately made this version mandatory. Already after, Symfony used Composer, completed the documentation and completely translated it into English.
Almost immediately, the migration of large open-source projects to Symfony began: OroCRM, EzPublish, Drupal8, PHPBB, PrestaShop, Piwik and many others - some of them completely switched to this framework, and some used only separate software components. It is worth noting Drupal8 - perhaps this was not the very first project, but certainly one of the largest CMS on the market.
The ability to use only individual software components of Symfony allowed enriching the ecosystem with specialized software solutions. This has shifted the Standard Edition framework (the so-called “full edition” or “meta-package”) into the shadows, which could no longer be the answer to pressing business questions. Therefore, in 2017, the creator of Symfony announced that version 3.4 would be the last for him.

A partial list of the most famous projects using Symfony:
- Sylius eCommerce Framework;
- Social Bookmarking Service Delicious;
- API Platform - a specialized framework for the design of RESTful API;
- Laravel - an affordable, RAD-oriented framework;
- Oro Platform and its associated ecosystem: Oro CRM, Akeneo, OroCommerce and Marello;
New Breath - Symfony Flex
The Flex plugin for Composer is a future replacement for the Standard Edition. It will make the development of Symfony applications much easier.
The developer will have the opportunity to choose and add the dependencies he needs using the YAML format files. They will explain to Flex what to do: add a dependency, configure and register a bundle or, for example, create a folder.
Find Flex recipes in the SensioLabs approved catalog. In addition to it, there is also a public source where everyone can add their own recipe and make it accessible to everyone.
In order to release the RESTful API in 2017 using Flex, you need to turn to the API Platform. It is available through Flex, so to get a fully working application, just run one command.
Many believe that the main focus of the Symfony project is not on the framework itself, but on maintaining high-quality software systems and their detailed documentation, and I cannot disagree with them. I think this conclusion was influenced by the relative success of Symfony 3 and the popularity of software solutions like Akeneo. In my opinion, the Symfony team is moving in the right direction :)
The Composer plugin is compatible with Symfony 3.3 and is completely independent of Symfony 4, so now you can start trying and experimenting.
Symfony in 2017
If you want to quickly understand the API Platform, Akeneo, Marello, Sylius, Drupal8, Laravel or the Symfony Standard Edition framework, then exploring the Symfony ecosystem can help you a lot. It is worth paying attention to the following points:
- How a Symfony application reads an HTTP request and returns a response;
- How a Symfony application creates and makes available objects (called “services”);
- How a Symfony application sends and monitors events throughout its life cycle;
- How to create such events;
Symfony Components Symfony
components are well-documented, supported by a huge community and are constantly evolving - for this we love them very much.
The use of specific components and their study certainly depends on the project. But these libraries, in my opinion, are the most useful:
- Component Console: provides a full-fledged console with arguments and parameter management, which are extremely necessary for PHP in CLI mode;
- The Debug and VarDumper components: provide improved stack control in case of an error and a dump function as a replacement for var_dump;
- Components Finder and Filesystem: provide a convenient API for searching and manipulating folders and files;
- Polyfill- * components: allow the application to use functions that are not available due to the PHP version or due to the lack of the necessary PHP extensions;
All these components are used in the largest PHP projects and can work "autonomously".
Here is such a brief review, which, in general, makes us look in this direction, as the first special course for a separate course.
THE END
As always, your opinions are interesting either here in the comments, or on our Open Day .