The Framework is the Language
As I've mentioned I'm trying to move all my programming to a web framework. It was tough going though because of the sheer complexity and my naivete about the undertaking.
After about a month of working with the Zend Framework I’m a little… bored with it. If this is what working with a framework is like I don’t want it (thank you very much). I, naively, thought using a framework would increase my productivity and highlight some of the joy I feel when developing and learning but, so far, all I have is frustration and a pretty heavy headache.
Since then, I've spent some time looking at Symfony (a fine, but overly complicated, framework), looking at Code Igniter and digging deeper into the Zend Framework. It was while doing all of that, and struggling with the enormity of learning an entire freaking framework, that a thought occurred to me; I need to look at this as learning a new language instead of learning a component.
You can't approach learning a framework as anything less than you would when learning a new language. Anything less and you're in for pain. After this realization the framework came together pretty quickly though it still hurt like hell.
So, what does that mean? IMO you should have total absorption; learning a framework can not be done very effectively a couple hours at a time. Frameworks are just too damn big. They have too many parts and all the frameworks I've looked at seem to have very different philosophies in the architectural design and structure.
The strategy I took was, and the one I use when learning a new language BTW, is to make the project my world. Everything else is gone and all that's left is the problem. There is no break, no rest and sleep is used to further solve problems more than it is to recharge. It's really the only way I can accomplish something as complex and challenging as learning a new programming language.
The good news is that I now feel very comfortable using the Zend Framework though I still have my doubts as to how good of a decision it is to use a framework at all (that's another discussion though).