Managing users is a very common task in any web application. As a Symfony developer you want to focus on your application business logic and not on writing boring stuff like user registrations, reset password procedures and so on. Not need to mention our Drupal and WordPress friends, they will piss out of you working for 2 days just for a standard registration flow. We don’t want to be mocked from anyone. Here comes FOSUserBundle from FriendsOfSymfony. With few steps and a minimal configuration you will be able to handle users in your Symfony application. It is so flexible that you can use it as your base for any of your applications. Let’s have a look at it.
You should know now what a bundle is. If you don’t, have a look at the official documentation.
We love bundles and you should too! Bundles are the way to share code with other developers and through different applications. Our motto is “more bundles for everyone”. Every single day, in your developer life, you are going to start a new feature, check for a bundle that cover it, and this world will be a better place
FOSUserBundle is the bundle for you if your application need to have some user management stuff such as registration flows, confirmation emails, reset password procedures. More or less all the common needs of a standard web app are satisfied.
As many other bundles from FriendsOfSymfony, FOSUserBundle has a great code base, which is really flexible and reliable at the same time. It works well with doctrine, propel, mongo and couchdb and the entire bundle if unit tested.
If you need to, you will be able to customize its core functionalities extending its templates, controllers or the services it defines. FOSUserBundle has a very thorough documentation that will guide you over your customization process. You can also make it work with other authentication mechanisms.
We can’t cover all the functionality of the bundle here (it would take several posts for it) but we want to warmly recommend to use this bundle in your next application. If you are looking for best practices and good habits, you should really use FOSUserBundle for managing users.
What do you think about it? Did you know this bundle? Are you using it or are you planning to do in the future? Would you like a premium detailed screencast about its functionalities? Let us know using our uservoice page!