rtfm Warning:  HARD CORE DORKAGE!!!! I hope beyond all the hope that I have obtained the book that will drag me over the learning curve for Zend Framework for real.  The book I am referring to, Zend Framework In Action by Allen, Lo & Brown, was meant to come out in September, but it finally made it.

Here’s the thing about Zend Framework:  you have to know how things fit together in order to do anything, but of course you don’t know anything until after you have successfully done something.  In other words, you just have to jump in without knowing WTF you are doing.   It’s an extensive toolkit, and it’s obvious in the abstract what each module is for.   I read manuals and online documentation until my eyes bled.  I totally implemented the Quickstart and understood everything in it.  But when trying to do anything of my own I was at a loss.  Chances are, paddling alone in swift water, you will hang up somewhere or wreck on a class 5.  This is something where you kind of need the tribal knowledge of the developers to be passed down to you one to one.  Ideally you’d tell your personal guru what you wanted to do and he (they’re all he’s) would say Ah grasshopper, for that you need to initialize the Ajax context using the getHelper method.  Yeah, right that should have been totally obvious.  After all I actually have RTFM!

Well, people such as myself don’t have direct access to the ZF gurus, nor do we have the resources to afford official trainings put on by Zend taught by teachers who have learned at the foot of the masters.   The closest thing I have to a guru is the forum at manning.  I’ve made a few posts there as tixrus.   Rob Allen himself actually has responded to some of my questions  (as long as I stick pretty closely to issues related to the book’s code!) and there are other knowledgeable people there as well. So this book better do it for me.

I’m most of the way through the book, and so far I am liking it, despite a number of first edition errors and oversights.   For one thing they give you a PDF version with purchase of the dead tree version so you can put it on your laptop when you travel.  You can also download all the code examples, and they periodically update them to fix inconsistencies and bugs. But the main thing is that they build a real web app, complete with a lot of the typical messiness web apps entail.  It’s one thing to talk about a class, function, or method in crystalline isolation, but when I see it in use in something I can relate to in the real world, that’s when it clicks for me.  Plus, there is actually ZF functionality devoted to handling those messy “real world” details, such as deciding what stylesheets, includes, and javascripts to load for a particular page.

I also got ahold of a copy of Cal Evans’ Zend Framework book, (published by PHP architect) which has filled in a few chinks, but if I had to pick, I think Rob Allen’s book edges it.

I’m finding ZF a bit verbose at the moment but I’m hoping it’s a front loading thing.  Even if my ZF code ends up being more verbose overall than my legacy code when compared functionality to functionality, I’m hoping that much of the functionality of the original legacy code can be absorbed by ZF library modules, so that the overall codebase that I have to maintain is smaller.  Plus I’m hoping also that some ugly tight coupling that crept into the legacy code will be undone, and that the code will be understandable to any ZF savant, instead of somebody coming in and having to learn all my handrolled legacy framework.

I still have some questions about i18n and exactly how you set up phpunit in the ZF config so you can run any set of tests. Well, it’s time to stop babying myself and get back to work. I’ve been out of the hospital for a week now and I have a clean bill of health going forward, so anchors away!

Listen to this post Listen to this post