In late October 2009 I was contacted by a marketing specialist at Packt Publishing to review a copy of Zend Framework 1.8: Web Application Development (Pope, 2009). As a developer that uses the Zend Framework I am more than happy to be writing this review post. I was already familiar with Mr. Pope’s work through his blog The Pope Is Dead. Overall he takes a well-executed, hands-on approach to guiding the reader through creating a real-world application using the framework.
As mentioned in the preface the primary audience for this book is the Zend Framework novice looking to learn about the framework and how to leverage the components to create web applications. He mentions that his secondary audience is developers that currently use the framework and would like to learn more about how to apply emerging best practices to his or her projects. In my opinion this book delivers appropriate content to provide value to both audiences.
The Basic MVC Application
The first chapter is a run through on getting a ‘Hello World’ application up and running. This approach can easily be so incredibly simple that it is useless or significantly complex that is leaves the novice feeling like he or she was punched in the gut. Pope did an outstanding job of combining explanation of the whys without overwhelming the reading as well as providing the simple hows to satisfy the impatient reader.
He takes careful time to walk the reader through design decision when discussing the model or domain layer which is essential to maintainable applications. I found his explanation of other approaches and the specific reason he chose a particular approach to be above what I expected from a “beginner” text, but not so theoretically-laden as to confuse or alienate the novice.
His use of some of the concepts used by more seasoned developers, such as using Front Controller Plugins and Actions Helpers, in his Storefront application is something a novice will find most valuable. While it might seem easy enough to avoid doing this by placing the code elsewhere his presentation of these elements will help curb the instinct to produce code that the developer will regret later.
Key Areas Addressed
As mentioned this book is fairly complete in the tutorial-based run through of the framework’s features and how use them for a real-world application. I am particularly happy with his brief introduction to practices such as testing and some optimization hints. While it is definitely a bad idea to prematurely optimize his experience is apparent in these chapters.
Overall Keith Pope and Packt Publishing produced a quality introductory text to developing with the Zend Framework. His work will be useful to not only the complete novice but to those developers that are familiar with the framework but wish to improve his or her practices to be more in line with emerging “best practices”. The only criticism I would offer on the book is, by my own admission, slightly invalid because it is not something that could be easily addressed: I yearn for a more in-depth analysis of the model layer. The model layer, being the implementation of the domain of the project, is incredibly complex and entire volumes could be written to go through implementations. In fact, there are already books that do this in the theoretical sense. I think that Pope’s introduction does suffice for the target audience.