Symfony 2 is hard

Symfony2 is hard. But not simply because it is doing things so differently, rather, it depends on so many packages. While there are certainly a lot of resources online, many can be considered outdated.

This recalls a discussion I had with U-Zyn of gladlyCode on the trends on PHP frameworks. We concluded that Symfony has a brighter future because on the past few years Symfony has became one of the most talked about frameworks in Google Trends. That observation, however, did not consider the scenario where more people posted online as they needed help. Additionally search for Symfony also includes Symfony Legacy (Symfony 1) which turns out to be vastly different from Symfony 2. It is hard to distinguish articles of the two, half the time I’ll be read through then to realized it’s for Symfony 1

Symfony 2 supports both Doctrine 2 and Propel ORMs. There are times I read through articles for Propel rather than Doctrine2 that I am using. Yesterday I spent my day figuring out Symfony and all I achieved is installing bundles. Bundles are not as well documented and many times that are wrappers of another PHP project.

At the end of the day I find myself referring to so much websites that I maxed out my tabs and no longer see the favicon on the tab any more.

Symfony2 reminds me of TurboGears of Python, if anyone is even still using it. It’s not a bad thing, especially in the whole of PHP where writing yet another ORM isn’t really needed. My minor complaint is Symfony requires the developer to do more configuration than other frameworks — say Yii Framework — and the ORM of choice, Doctrine 2, requires too much definitions to be included in an Entity (similar to Model of MVC frameworks). Overall Symfony 2 is a big framework to work with, I am probably discovering something new at every juncture. It’s worth a try but you’ll need a day at least to explore their features.