Apologies for the quiet times on the site recently, but for a bit of slightly off-topic content, how about a book review! The book in question is Pakt’s Expert PHP 5 Tools by Dirk Merkel, which is a tour through a variety of processes and systems that the author suggests should be in use by any serious PHP developer. Each chapter covers a different tool, namely:

  1. Coding Standards
  2. phpDocumentor
  3. Eclipse
  4. Subversion
  5. Debugging
  6. Frameworks, primarily Zend Framework
  7. Testing, mainly unit testing with PHP Unit
  8. Deployment, using Phing
  9. UML
  10. Continuous Integration

The book is aimed squarely at developers, though most of the advice only really applies if implemented by an entire team, so the natural audience is team leads or one man bands, where decisions regarding coding standards or framework usage are under their control. The topics are generally covered in a good degree of depth, and the author gives the impression of both having found the benefits of these tools for himself, and of having introduced them to other developers before. The writing and references are both presented in a way that should give them a fair lifespan, so the book should remain relevant for a few years, unless one of the particular system referenced falls completely out of fashion.

Each of the books chapters reads much like an in depth tutorial on the subject - the kind of thing you’d find on IBMs developer works or similar multi-page article site. This is not necessarily a bad thing, but makes the book better as a reference for specific tools than it does as an cover-to-cover read. Some of the chapters go into more depth than most web tutorials I’ve seen - for example the phpDocumentor chapter is excellent, and really drills into the available annotations. However, some, such as the frameworks chapter, seem much more shallow, and the reader would probably be best served by reading the introduction then googling for more information. This does beg the question of whether you’d be pulling this book off your shelf that often - while not a document-the-api book it’s no slim volume, clocking it an over 400 pages, and once you have the general concepts in mind, there’s not necessarily that much to go and look for that can’t be easily found online.

Overall, I liked the book, and learned (or possibly re-learned) a few things about phpDocumentor and UML. The book is clearly typeset and easy to read, though the occasional proof reading error does crop up - misspellings that pass the automatic spell check like ‘design patters’. For someone that has been developing for a few years in a fairly static environment it’s a good way to gain exposure to the core tools that make up a modern development process. That said, I would have preferred the author to be more descriptive in the challenges and benefits he has faced using and implementing the tools in real projects, and left some of the detail of their use to the (often excellent) online documentation. For example, I don’t see any value in the Zend Framework introduction over the quick start guide on their own website, but there is a world of difference between your first ZF app and releasing a site based on it.

Alternatives wise, there aren’t that many general, advanced PHP books. On the content, Ivo Jansch’s Enterprise PHP Development covers more of the software development life cycle, but doesn’t got into the same level of depth in individual topics as this book. When grabbing the links I noticed Wrox have a book called Expert PHP and MySQL Programming, which I haven’t read, but from the contents seems to cover some more advanced topics, and less of the general development infrastructure than Expert PHP 5 Tools.