I tried several of the hacks in this book and quickly scanned some others. It offers numerous ideas for dynamic web page presentation. Hack 11, "Put an Interactive Spreadsheet on Your Page", provides a fresh way to present tabular data in an Excel-like grid format, using a proprietary solution called ActiveWidgets. I downloaded the free version of the ActiveWidgets code and ran this hack. It is giving me ideas for how to present the kind of tabular data that might look good on a web page. At no cost, you can study a given bit of PHP code and decide for yourself if you can put it to further use.
I also tried Hack 10, "Send HTML Email". It works fine as stated, and for the first time I learned how to construct a multipart email. That is what prompted me to implement the hack, I have always wanted to do exactly this. I have some work to do with my sendmail mail transfer agent (MTA) software for this to work even better. The hack can be improved by showing how to avoid the problem of the MTA writing the wrong from and to email addresses and how to work around potential mail relaying issues. The bottom line, however, is that the code presented works as indicated.
I experimented with Hacks 4, "Build A Breadcrumb Trail", and 12, "Create Popup Hints". These work acceptably.
An exciting hack that I haven't tried yet is #44, "Scrape Web Pages For Data". I would like to use this one to scrape weather-related data from http://nws.noaa.gov/ for my zip code.
Another attention-getter are the hacks presented in Chapter 8, "Testing". I have not tried these hacks myself, but I think unit testing needs more attention in web pages that utilize heavy scripting, and I'll be sure to experiment with these hacks in two projects of my own that are currently ongoing. I definitely feel the need of automated testing.
Other good points about this book is that it offers hacks which cover graphics tricks such as implementing Scalable Vector Graphics (SVG). SVG deserves attention because the image renditions possible are stunning, and you can render them right now. Recent builds of Mozilla and Firefox support SVG natively and you do not need the Adobe plugin with these browsers. Author Herrington neglects to state this in Hack 28. When you see the graphical renditions you realize they are worth implementing in your PHP code.
I like the numerous screen shots the book provides. They offer a way to check my own results against what he suggests or shows are possible.
I would have given this book a 5 star rating if I had seen hacks that implement PHP Data Objects (PDO) with databases such as MySQL and SQLite. PDOs have been available in PHP for a long time now, I use them in most of my coding because they work so well and offer a cleaner interface to the database engine than the "traditional" PHP code taught in a lot of books. Likewise, there is a focus on PEAR programming, but in PHP version 6, which is now in development, there is no longer a default install of PEAR. Herrington also didn't test his Hacks code on different platforms. He appears to have settled on the Windows versions of Firefox 1.x, Apache server, and PHP. There is some reliance on Internet Explorer. I can see the results when I test his hacks in Mozilla and Firefox on the Linux OS. Indeed, it doesn't look like Herrington did extensive research for the book; otherwise he would have quickly learned that SVG is supported natively in Firefox. There is too much code printed, and not enough discussion about the code itself. I can download the example code easily enough; why print it at the expense of discussing it? The book index also needs improvement. You can see entries for "ActiveWidgets", for example, but not a related one for "widgets".
I ran all my tests of these hacks on Fedora Core 4 Linux, running MySQL 5.0.18, SQLite 3.2.x and higher, and development versions of PHP 6 available from http://snaps.php.net/ . I did not test these in Microsoft Windows XP.
This book belongs on your desk as you code PHP. I recommend studying it for the ideas it offers.