I personally love language constructs and hate frameworks for not using them just because they are not OOP enough, for example I like to write controllers using switch statements... when it gets cluttered I may refactor it a class, but I keep that simple, I don't want to subclass an abstract controller class etc.<p>Also like the author, I hate frameworks that do too much and won't let me be, my personal favorite is: Flourish <a href="http://flourishlib.com/" rel="nofollow">http://flourishlib.com/</a> .It is a collection of classes, and that is what a framework should be instead of some monolithic system that generates code that you will have to maintain and has a zillion configuration files scattered all over the place.