I have dabbled in all of the above and I noticed that I spend a lot of time up front lost in the framework. In fact the only framework that I have found useful out of the 4 you mentioned is Django. I think that is because it doesn't force you to use the framework shortcuts, they are there for more experienced users, but when starting out you can use more standard logic.