6 Imperative Symfony Bundles

ED’s Developers Recommend: 6 Imperative Symfony Bundles

Monday, 2 March, 2020 Updated on Wednesday, 10 August, 2022 by Eton Digital team

The number of websites built with Symfony PHP is growing in number every year. Why? Symfony PHP framework simplifies the coding process and delivers outstanding complex digital products.

Its flexibility and stability is the reason many brands are choosing Symfony and why each year we are seeing more and more popular Symfony project ideas.

From custom websites and engaging mobile apps to enterprise social network websites, knowledge networks and eLearning and learning apps, we have delivered projects of great complexity and scalability and can confirm all its benefits.

“Symfony is basically a collection of high-quality components and bundles.” – Tutorialspoint.com

Why Symfony? A component is an independent PHP library that provides a specific feature that can be used by any PHP application. For example, Laravel and Drupal CMS use Symfony components. 

A Symfony bundle is similar to a plugin that can be found in other types of software, but a bundle is easier to create and use. According to tutorialspoint.com, it’s a collection of files and folders organized in a specific structure. Symfony core features are carried out in bundles – FrameworkBundle, DoctrineBundle, SecurityBundle. Symfony PHP itself is packaged as a bundle – the AppBundle

Over the past few years, Eton Digital has developed a variety of websites, social networks and complex projects using Symfony framework. In that period, our team of dedicated developers recognised a number of bundles that help them tailor the perfect solutions for our clients which we always recommend within our Symfony development services. Our senior developers recommend their favourite Symfony bundles we use on an everyday basis on different projects. 

#1 Sonata Admin Bundle

One of the most used Symfony bundles is Sonata Admin Bundle that allows you to create administrative panels for entities used in the given project. 

“This Symfony bundle provides us (developers) the elements that are ready to be used in our application” – Predrag Ristić

Symfony bundle Sonata
Image source: StackOverflow

“While this bundle contains all functionality, it needs storage bundles to be able to communicate with a database.” (from installation doc at Symfony.com). Storage bundles you need to download before using are: SonataDoctrineORMAdminBundle (integrates with Doctrine ORM), SonataDoctrineMongoDBAdminBundle (integrates with MongoDB ODM) and SonataPhpcrAdminBundle (integrates with Doctrine PHPCR ODM)

The alternative for this bundle is provided by SensioLabs, the creators of Symfony framework – EasyAdminBundle. “It has fewer customisation options than Sonata Admin Bundle, but I’m sure that it will be better than Sonata it in the years to come” – Miloš Ilić

Symfony bundles
Image Source: Symfony.com

#2 FOSUserBundle

“I have never worked on a project that didn’t include this bundle” – Vladimir Bogdanović

FOSUser Bundle
Image source: Symfony.com

If you are a junior Symfony developer, this is one of the first bundles you will start to love using. The FOSUserBundle is a user management bundle that builds on top of the Symfony Security component. It allows fast integration of registration, login, forgot password and similar functionalities and also makes it quick and simple to store users in the database.

#3 Doctrine Bundle

“One of the “must-have” bundles, a part of the standard configuration of a lot of Symfony projects” – Novica Stević

Symfony Bundles
Image source: Symfony.com

This Symfony bundle integrates Object relational mapper (ORM) and database abstraction layer (DBAL) projects into Symfony applications. Developers use Doctrine Bundle because it provides a great alternative to SQL – it writes database queries in a object oriented SQL dialect called Doctrine Query Language (DQL). This way the flexibility is maintained without unneeded code duplication.

We have to mention Beberlei Doctrine Extensions – a library that adds a lot of MySQL functions that are left out in other Doctrine bundles. “A mandatory integration for more complicated queries” – Vladimir Tošev

ED's Developers Recommend: 6 Imperative Symfony Bundles
Image source: GitHub.com

#4 API Platform Bundle

“A fast and efficient bundle for working with application program interfaces” – Maja Topličanin

API Platform
Image source: Screenshot

It is powerful yet easy to use framework for API-first projects that doesn’t compromise Symfony’s flexibility and extensibility. API Platform contains a PHP library that helps you create APIs that support standards such as OpenAPI, JSON-LD, GraphQL, Hydra, HAL, JSONAPI, JWT, OAuth, HTTP… 

The fact that this bundle’s server component is built on top of Symfony framework while client components take advantage of ReactJS allows you to use thousands of Symfony bundles and React components with this platform.

The platform is integrated with Kubernetes and Docker. This way you are able to develop and deploy directly on the cloud. 

#5 KnpPaginatorBundle

KnpPagination Symfony bundle is used to sort and paginate your website content. It is based on Knp Pager – a component that introduced a different way for handling pagination.

Depending on the requests, it offers the possibility of adding sorting or filtering functionalities. Paginator Bundle does not require initialization of precise parameters and can be customized to suit projects needs.

The bundle is SEO-friendly and for most professionals it is just a question of time when they will deal with pagination. – Dragan Janković

#6 The Symfony MakerBundle

Creating entities, empty commands, controllers, form classes, and tests is a long process and this bundle speeds it up. It serves as an alternative to outdated SensioGenerator bundle for modern Symfony applications

Although this bundle assumes you are using a standard Symfony directory structure, many commands are able to generate code into any given application. 

Bundle’s generated code cannot be modified, but there’s an option for improving the existing commands and adding new ones. 

Before you go you might be interested in learning more about Laravel vs Symfony differences.

Have a question about a Symfony project you want to build? Get a free quote

We’d love to work with you on your project!

Get in touch with us and tell us your idea.

Start a project