The basic outline of Symfony’s pros and cons
Another top-notch cross-platform PHP framework, that is especially good for large project development. So, if you want complex features for a long-term basis – don’t hesitate, Symfony fits the purpose just right. It provides multi-user and multi-language content, text search, and interface patterns. It works with a good ol’ Model-View-Controller and allows numerous plugins for any additional task. With such great popularity, the framework has strong community support and is backed up with constant updates. Symfony’s features for best-practice products include:
- Object-relational layers of Doctrine allow describing each model and function;
- Dependency Injection makes classes co-dependent, and allows making fewer changes; this reduces redundant coding;
- Unit testing with PHPUnit allows faster bugs check;
- Twig allows using HTML templates for time- and code-efficiency;
- E-Mail library Swift Mailer improves email sending, integrating safety practices, authorization, and attachments;
- Scaffolding and database support: Drizzle, MySQL, Oracle, PostgreSQL, SAP Sybase;
- Automated data migration;
- Bundles – like plugins, only better because they can be reused in multiple applications. They allow fast code changing.
However, everything has its price, and so Symfony is somewhat challenging to learn when comparing to other frameworks. It often relies on additional technologies at its core. No matter how great it is already designed and performing, Symfony lacks important features. The complexity in entering the market results in fewer devs, as they will have to spend more time learning, and time is money in our world. Few devs = more time to find them for a project. It creates a necessity to invest in the bringing up of new coders, and bigger financial expenditure for those few you’ve already hired. Also, the documentation lacks explanations occasionally, especially when it comes to the outline of bundles by its creators.
SapientPro is lucky enough to work with developers successfully coding in Symfony. They are not afraid of any learning curve and, in fact, they “straighten” it, being able to explain the hard-to-grasp information even for those who don’t have a full understanding of IT. Challenges fasten skills, and with each new Symfony project, we understand how important creativity is, and how well it helps to overcome documentation fallacies.
Symfony is truly magical, and if you don’t believe – here are several successful companies that have used its spells.
Top projects built on Symfony
BlaBlaCar
This is a shared mobility platform, that contributes to efficiency in time, spendings, and resources. In simple words, it helps you to commute and drivers to earn spare money. BlaBlaCar uses Symfony for the website’s backend and backoffice. When you need to get from A to B, it works the following way
- Look for people who drive to your destination on the platform;
- Choose those drivers who offer the price affordable and the time convenient to you;
- Book the place in the car;
- Get driver’s contacts;
- Meet, ride, pay;
- Get to your destination;
- Evaluate the trip.
Sounds pretty easy, and it must be so as the simpler the commuting arranging process, the bigger the userbase. However, to perform such simple steps, BlaBlaCar app needs to operate with the database smoothly, and MySQL is their solution for that. It is especially important here because:
- the app is popular, especially in Europe;
- it contains 60 million users and 9 million drivers;
- it needs to update trips status immediately;
- it must exchange the info between users and drivers;
- it allows scoring and rating formation.