I’ve definitely spent a lot of time complaining about Symfony2.
It’s not likely to stop any time soon either. I find it crude, limiting and to be honest, more than a little bit insulting. To my mind, it’s not ready for primetime consumption.
The fact that caching is basically essential to get a site up and running, that’s an immediate red flag to me. Even with caching, running from Amazon EC2 Large instances, we see a delay of around 10 seconds before a page loads.
Who knows, maybe we’re doing something wrong. It’s certainly possible, since the documentation is so poor.
I want to add a HTML5 cache manifest to my project now - can I find out how? Can I hell. There’s no details ANYWHERE on how I’d go about doing so. Surely if Assetic is processing all of my files, it should have the ability to dump a list of them into a cache file?
Also, the fact that I’ve had to override the standard form components in order to add unique IDs to each element, so that our designer can style them correctly? That’s a problem too. If I’m going to use a framework at all, I want it to make certain decisions for me, for the sake of convention and ease of use. Yes, I should be able to override them. No, I shouldn’t have to, unless I really do want to do something special.
Equally, supporting different output formats seems to be missing from the documentation. I want to provide a JSON API to my internal users, but I can’t do that easily without reproducing a load of stuff. It also seems like with dependency injection I end up writing a whole load more code. Again, I don’t see that as a positive.
Symfony2 may well be the best of the “new-breed” PHP 5.3 frameworks that’s currently available, but that doesn’t mean it’s any good. Now, I’m going back to Rails. I’d never consider using this piece of crap on a project unless I had no other choice.