Book Review

Book Review : Zend Framework in Action



I signed up for the Manning early access program for Zend Framework in Action to get information on the ACL functionality in the framework and the book provided some useful examples. I was a bit underwhelmed by the content in the first release, but I guess that is to be expected when viewing a rough cut.

This release (the 2nd) is a vast improvement, and the book is really starting to come together. I like how the authors go into detail about testing, showing not only how to test your models, but also how to test controllers, and showing some common set up steps. It doesn’t cover all the details of testing, nor should it, but the book provides a solid background to build upon. This is refreshing compared to most books which simply mention testing and say whole books have been written about it.

The book does a good job of logically building upon previous examples, and I felt the flow was good when introducing more complex topics like Plugins and ActionHelpers. This version was updated to include Zend_Layout, including info on partials and ActionStack plugin, but the chapter on forms is not complete yet – looking forward to reading that when it comes out.

I thought the AJAX chapter was a little shaky. Maybe it’s me, but I felt the authors spent too much time going over a general ajax request sans the framework. By the time they work the framework into the equation, they are using an include file in a controller action to bring in some procedural code written earlier. And that procedural code lives in the models folder – it just doesn’t seem right to me. I think this would have been a good opportunity to use Zend_Filter, although it is used in later in the book when discussing Zend_Search_Lucene (the chapter on this is very thorough and easy to understand). Also, they recommend using separate controllers/actions for Ajax requests and not rendering the view in each action method. That’s fine, but I would also like to have seen using a Plugin in the dispatch loop to detect an Ajax request and automatically turn off Zend_View/Zend_Layout.

I like how the authors occasionally work in design patters, such as the registry, and the observer pattern in the search chapter. The authors describe using the observer pattern with hooks in the DB class (hooks which I didn’t know existed) to update the search index.

The chapter on deployment was good; most books don’t seem to tackle this. My only quibble is when discussing setting up virtual hosts, they say to make sure to enable AllowOverride to use .htaccess. I don’t have any problem with this, but since the book is talking about Virtual Hosts, they should recommend putting the redirects in the httpd.conf file, rather than relying on .htaccess, as it is more efficient due to the fact that Apache doesn’t need to read a file on every request.

At times I felt like there may be too much ancillary topics covered, however, after finishing the book, I felt overall it was good that topics such as testing, deployment, and version control were covered. While there isn’t enough information to provide in depth coverage, it exposures the reader to these topics and provides enough information to get started, rather than just briefly mentioning it. And the coverage of the different components with the Zend Framework is comprehensive and understandable. If you are looking at working with the Zend Framework, I would definitely recommend this book.

Posted In: PHP, Book Review, Zend Framework | 2 comments

Book Review: Learning eZPublish 3

I am using EzPublish 3.8 as a content management system for a website. It’s been quite awhile since I last looked at EzPublish and I bought a book to help me along. After limited research, I settled on Pakt Publishing’s Learning eZ Publish 3.



All in all, I am not very happy with the book. I wanted something that I could read and hit the ground running. Something that would run me through an install and setup for a basic website. Instead, it seems to be a rehash of the documentation found online, focusing on the structure of the system and not providing many useful examples for what I am trying to accomplish. In fact, I have used the documentation exclusively while customizing the website I am working on, letting the pdf gather virtual dust.

For example, chapter 2 gives a detailed overview of the system, covering the logical structure of the system, displaying content, workflows, and a whole slew of other things, which was too much info for me to take in. It also provides an example website at the end with brief specifications (photo galleries, personalization, discussion forms, etc), but leaves it up to you to figure out how to create it all and make it work together.



I guess I would have liked to see an example with a very basic website, and have a detailed walk through on creating a couple of sections, creating one object and assigning the sections, and applying templates to each section. Or something simple like that. While workflows and translations are important, I didn’t see the need for those in the second chapter. I tried to jump to chapter 8, where there was a case study. But the vast majority of the chapter was focused on requirements, specifications and pre-planning.

The other factor is 3.8 is obviously different than 3.0. I can’t blame the book for that, but it didn’t help. Take my review with a grain of salt, but if you are brand new to eZPublish and looking for examples on how to set up a basic website, stick to the documentation, which is quite well done in my opinion (and free).

Posted In: Book Review | No Comments