TrustRadius: an HG Insights company

Symfony

Score10 out of 10

28 Reviews and Ratings

What is Symfony?

Symfony is a PHP framework from French company SensioLabs.

Categories & Use Cases

Symfony is a flexible and well supported php framework but I consider Laravel better at everything.

Pros

  • Symfony bundles are libraries that are very easy to download and start using in minutes.
  • The default directory structure is very abstracted and decoupled and ready for large projects that require a lot of flexibility.
  • The support from the community is very thorough and the documentation is well written if you remember to view the correct version.

Cons

  • There are so many ways to do things that FAQs around the internet may not work for the way you did it.
  • The default database ORM doctrine is not well documented and has a large learning curve when optimizing for high traffic.
  • Matching the Symfony version with your selection of bundles makes it difficult to upgrade bundles because many things change between updates.

Return on Investment

  • It has caused a lot of time wasted and frustration with bundle updates.
  • It has led to very bad database performance with doctrine and it's lazy loading one to many relationships inside loops without the correct loading settings.
  • The default directory structure, when used correctly is well decoupled and supports good practices that have saved us time and reusability that other frameworks may not enforce.

Alternatives Considered

Laravel PHP Framework, CodeIgniter and WordPress

Other Software Used

Laravel PHP Framework, AWS Lambda, Amazon Aurora

Symfony

Pros

  • Good documentation
  • Well built component system
  • Choose what you want to use, not all-inclusive. Helps keep things small and more easily understood.

Cons

  • Config.yml definitions are fairly complex to write and understand.

Return on Investment

  • Fairly quick to pick up and learn.
  • Can be used for multiple types of apps.

The new standard in PHP libraries

Pros

  • Symfony covers all of the bases that one might expect from a PHP framework, it can essentially be a one-stop-shop for the lower-level components you might need when developing a PHP application.
  • Symfony is a fully modular library, allowing you to easily use only the parts you want, easily plug it into other systems, and easily augment or replace parts of it with other libraries.
  • Symfony plays nicely with other code. We've never had an issue using it with any other PHP library or framework we've come across.

Cons

  • It's hard to fault Symfony for much of anything today. There are occasional security issues, but they are typically handled professionally and patched quickly.
  • Symfony can be a heavyweight solution if you don't really need a framework. This isn't really a fault with Symfony, since it does allow you to only use the components you need.

Return on Investment

  • Using Symfony (or certain components of the Symfony framework) has allowed us to more rapidly and securely build custom PHP scripts and applications that would have taken us more time or had more bugs otherwise.
  • Spending less time coding and re-coding the basics that Symfony covers helps to free up our time to get more client work done.
  • Drupal 8's use of Symfony has helped to make its developer experience far better than ever before, keeping our developers happy and working at maximum effectiveness.

Alternatives Considered

Laravel PHP Framework, CakePHP, Drupal, WordPress, CodeIgniter and Zend Framework

Other Software Used

Drupal, WordPress, Laravel PHP Framework, GitHub, CircleCI

Symfony: For Complex Enterprise Scalable Products

Pros

  • Sonata Admin for Symfony is very versatile and we've used it for both the admin part of our website (even created a landing page constructor using it) and for the ERP system we've developed for inside use.
  • It is easy to learn if you know PHP and the community is quite large so you can easily find experts to help you with issues.
  • It's good for high-load projects. We have used it for the back-end of a custom affiliate marketing system that currently processes over 180 million requests per day.

Cons

  • For less complex projects, Laravel or Silex (or even WordPress) can be used. Symfony is better for enterprise products than just for the fun of it.
  • There are always debates regarding Sonata Admin for Symfony, but while there are people who dislike it, we use it and heavily rely on it.

Return on Investment

  • Considering it is one of the main frameworks we rely upon at the APP Solutions / Grossum, it had a wonderful impact on our overall business objectives :) Being an open-sourced product yet well-maintained, it is a great instrument for web and mobile development.

Alternatives Considered

Laravel PHP Framework, Zend Framework and Drupal

Other Software Used

Google Drive, Dropbox, Vidyo, Zoom Video Webinar

Using Symfony for a wide variety of projects

Pros

  • Your coding speed will be increased thanks for Symfony Flex, a feature based on Symfony Recipes, a set of automated instructions to integrate third-party packages into your application.
  • The learning curve is just great for any kind of developer, from a junior to a senior, thanks to all the great documentation you will be able to get up to speed in a could of hours with any kind of application.
  • The code quality of Symfony makes it, as of today, one of the best architected and cleanest PHP frameworks available.

Cons

  • Performance can be an issue sometimes, especially with older versions of Symfony.
  • For some developers it might be challenging to start working with Symfony. While the learning curve isn't necessarily too bad, any developer willing to work with this framework, junior or senior, must have some strong architectural knowledge. If your software architecture knowledge is weak you might find yourself struggling trying to understand some of the design patterns used when working with Symfony.
  • Symfony comes with a significant number of external dependencies. Your custom modules will rely on a strict architecture and you will be forced at some point to spend a significant amount of time doing a lot of testing. This can slow down the development process.

Most Important Features

  • The software architecture
  • The community support
  • The documentation available
  • The compatibility with PHP 7.4

Return on Investment

  • One negative thing to point out of Symfony is how painful it is to migrate legacy or relatively old projects from previous versions of Symfony into newer versions.
  • Symfony projects are usually reliable and provide the results you need.
  • Performance can be an issue sometime depending on the kind of project you are working on. Symfony can have some issues with cache.

Other Software Used

Laravel PHP Framework, CodeIgniter