I’ve been playing with Symfony2 for a little while now and I think I’m starting to get on top of it. When I started looking at Symfony2 I’d never used an ORM or a templating language before as well as not being versed in the features that PHP 5.3 introduced to the language. All in all it has been a very steep learning curve for me. If you are new to PHP frameworks or object oriented PHP then you can expect to feel thoroughly overwhelmed at first and it will take a lot of hours to produce something functional.
Having said all that – now that I’m starting to get my head around Symfony and I’ve made a few small basic apps, it really is quite a nice framework to code in. I really like the bundle system because it encourages you to make things in a reusable way. I can see in a few months that I will have my own bundle of bundles and that developing an app will be significantly faster as I’ll be able to drop in large amounts of functionality very very quickly.
I’m concerned about the performance of Symfony. It has the nick name “slowfony” for version 1 amongst performance oriented developers. I did some initial tests with caching completely disabled and the results were pretty bad. Even with APC I was only seeing 130 requests per second without hitting the database. I really need to spend more time understanding the caching aspects of Symfony so I can write a post on maximising performance.