Symfony framework can be used for any project – from simple websites and apps to enterprise social networks and content management systems.
Symfony’s simplifies the coding process. Its flexibility and stability made it a framework of choice for many popular brands.
“Symfony is basically a collection of high-quality components and bundles.” – Tutorialspoint.com
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 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 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 recognized a number of bundles that help them tailor the perfect solutions for our clients.
Our senior developers recommend their favorite Symfony bundles we use on an everyday basis on different projects.
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ć
“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ć
“I have never worked on a project that didn’t include this bundle” – Vladimir Bogdanović
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.
“One of the “must-have” bundles, a part of the standard configuration of a lot of Symfony projects” – Novica Stević
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
“A fast and efficient bundle for working with application program interfaces” – Maja Topličanin
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.
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ć
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.
Have a question about a Symfony project you want to build? Get a free quote.