Almost each Symfony project uses FOSUserBundle because it speeds up the development and provides useful features to manage users. It has a few built in storage layer implementations: one for Propel and a few for Doctrine (both ORM and ODM). It's great, but there are some cases when you have to use another storage. Luckily, FOSUserBundle is flexible enough and provides a way to implement a custom storage layer. You just need to implement your own user manager to use all features of FOSUserBundle.
It's a common need to integrate a payment gateway into a project. Even though there are many well known systems and aggregators like PayPal, RBKMoney, Paymentwall, Robokassa and so on, I want to talk about Paysera. It's another quite new payment system. They claim to have low commission fees for a convenient and wide range of services. Paysera allows your users to pay via cards and SMS. Integration is quite easy, but has some unclear moments during the process that I want to point out.
- it's a service for automated code testing. It's integrated with GitHub, supports many languages and libraries. This time, we're interested in PHP and the PHPUnit tests. It's very convenient to have such an instrument while developing an open source library, because other developers don't need to run tests locally, everything will be available on Travis. I'm going to show how we can add a library to travis-ci.org, and for this purpose I'm going to use 4devs/blog.