Spent the day job today wrestling with a symfony project I inherited from a previous developer.  While I like the Mdel-View-Controller model in the abstract way, getting down and dirty with it has been quite instructive.  

First off, the learning curve is steep, because no matter how you try, you’ll never be able to understand the damn code based on first principles. Secondly, the level of complexity makes it a hinderance for other developers to come in and make quick changes.  You can’t touch the damn code until you damn sure know what you’re doing.

I’m pretty familiar with the whole thing now, and while I have some beefs specifically with the way symfony is implemented, I’d still have trouble recommending starting another major project using a MVC tool like symfony or Rails.  I’m not seeing any drastic speed gains in development, and as a programmer, not being able to easily trace my data though the engine is enough of a hinderance that I think I’ll stick to simpler development environments.