DEV Community

Cover image for Laravel vs. Symfony in 2022
Chris Wolf
Chris Wolf

Posted on • Updated on • Originally published at pretzels.dev

Laravel vs. Symfony in 2022

When it comes to choosing a PHP framework for web development, there are many factors to consider. Two of the most popular frameworks are Laravel and Symfony. In this blog post, we will compare Laravel and Symfony in terms of their features, performance, and popularity.

Laravel is a PHP framework that has become increasingly popular in recent years. It is known for its ease of use and flexibility. Laravel is a good choice for small to medium sized projects and, if done right, even for large projects.

Symfony has been on the market longer than Laravel. It is known for being suitable for larger projects. Symfony is also more complex than Laravel and can be difficult to learn. While Laravel is quite opinionated when it comes to setting up and configuring a project, Symfony holds back and lets developers decide. This can lead to an increased amount of time spent on development.

In terms of features, both Laravel and Symfony offer a lot. In some places, the differences are quite significant. For example, Laravel offers Eloquent as its ORM, while Symfony uses Doctrine. Another example is that Laravel offers the Blade templating engine, while Symfony uses Twig.

When it comes to performance, Laravel is generally considered faster than Symfony. However, this is not always the case and it really depends on how the framework is used and configured. In general, both frameworks are quite fast and powerful.

Which PHP framework is better for web development projects in 2022 - Laravel or Symfony?

To answer this question, you should look at these factors:

  • Community
  • Available CMS options
  • Ecosystem
  • Stability
  • Performance
  • Development Time

Community

Laravel has a large and active community. There is extensive documentation on the Laravel website and many resources available online. In addition, Laravel has a large ecosystem with various tools, packages, and even some paid services. These paid services are not essential for development, but can speed up or ease the process.

The Symfony community is also large, but not as active as the Laravel community. There is extensive documentation on the Symfony website, but there are not as many resources available online as there are for Laravel. Symfony also has a large ecosystem with various tools and packages. However, because Symfony is more complex than Laravel, there are not as many paid services. Most important is the paid consulting and support offered by SensioLabs.

Stability

Laravel has been released in version 9 this year. It has matured over the years, which is why it has become so successful and popular. New versions are released regularly with new features and bug fixes. However, there are only a few major versions. This means that you can upgrade to a new Laravel version without having to rewrite your entire codebase.

Symfony also follows semantic versioning and new versions are released regularly. New subversions are released every six months and new major versions are released every two years. However, unlike Laravel, Symfony uses long-term support (LTS) versions. This means that a new LTS version is released every two years with bug fixes and security updates for three years. It is recommended to upgrade to the latest version every six months to reduce technical debt due to pending updates.

Performance

In general, Laravel and Symfony are both quite fast and efficient. In general, Laravel is considered to be slightly faster than Symfony. However, this is not always the case and it depends on how the framework is used and set up. It's hard to give a general answer here since so many different factors play a role in performance.

Development time

Laravel is known for being pretty prescriptive about how a project is set up and configured. This can lead to you spending less time developing because a lot of it is already predetermined for you. Also, the Laravel blade templating system can reduce development time by making it easier to create templates.

Symfony is more flexible and gives you more freedom to configure your project the way you want. This can lead you to spend more development time because you have more decisions to make. Especially with larger projects, these decisions need to be made carefully to avoid problems later on. However, this flexibility can also be seen as an advantage, because it gives you more control over the outcome of your project.

Available CMS options

There are few decent content management systems (CMS) available for Laravel, such as October CMS or Statamic. The most popular is definitely Statamic, which can be used for free and offers paid pro features. Statamic is used by Spiegel Online, one of the biggest news websites in Germany. It is also supported by a large community and is considered a safe choice for a Laravel-based project that needs to include a CMS.

Symfony's CMS of choice is Sulu, although there are others, we will only discuss Sulu here. Sulu has been available since 2014 and is used by companies like Trivago, 9flats or Trusted Shops. It is a good option for a Symfony-based project that needs to integrate a CMS. However, its user base is much smaller and Sulu itself is less developed. It excels in a feature known as "portals". Sulu, similar to WordPress Multisites, divides the sections of a website that can be managed separately.

Ecosystem

Laravel is the clear winner when it comes to ecosystem and community. This popularity is reflected in the number of packages, templates and paid services available. Paid services include Laracasts, which offers video courses on all topics related to Laravel. Forge, a server management tool for Laravel, and Envoyer, a deployment tool. Listing them all is beyond the scope, but you can find an overview of the most popular offerings here: https://laravel.com/.

Symfony's community and ecosystem are both significantly smaller. However, there are still many useful packages for Symfony. Some of them are EasyAdminBundle, a backend CRUD generator, and FOSUserBundle, a user management system.

There's no denying that the Laravel ecosystem is impressive. With its many packages, templates, and paid services, it has everything you need to build a reliable and feature-rich app quickly and easily. If you're looking for a framework with a large community and plenty of resources, Laravel is for you.

Conclusion

Symfony's flexibility and control give you more freedom to configure your project according to your needs. While this requires more development time, it also allows for a more customized result. Sulu, Symfony's CMS of choice, is also a good option for projects that need to integrate a CMS. However, keep in mind that it has a smaller community and is not as developed yet.

Laravel is definitely the right choice if you're looking for a framework that is fast, efficient and provides a lot of resources. It is suitable for projects that need to include a CMS while providing custom business logic. Its blade templating system makes template creation a breeze. Moreover, the Laravel ecosystem is impressive with its many packages, templates and paid services. If you're looking for a reliable and feature-rich app that you can build quickly and easily, Laravel is for you.

Top comments (2)

Collapse
 
andersbjorkland profile image
Anders Björkland

I always love seeing posts about Symfony and Laravel. I think comparing each of its components in separate posts would be really interesting, such as Laravel's Artisan commands Vs Symfony's Flex, and Eloquent Vs Doctrine, and so on.

Collapse
 
crslp profile image
Chris Wolf

Eloquent Vs Doctrine is definetly a hot one.
It's rare but it happens that I run out of options with eloquent and then find what I need in Doctrine.

I'll put that article on my to-do list :)