Book Review: PHP 5 In Practice
My buddy Heather Fox over at Sams Publishing sent me a copy of their title PHP 5 In Practice back a few months ago for review. I only have four books in my library that I’ve had to duck-tape the covers together because I use them so much. I think with this one, I now have five.
Elliott “Eli” White III is a senior programmer over at digg.com, Jonathan D. Eisenhamer is a lead programmer for the “Web and Print Services Group within the Office of Public Outreach at the Space Telescope Science Institute”. Between them they have 30+ years of programming experience; it shows in this book.
First let me say, if you are new to PHP or programming in general, skip this book. This is not a how to or even a cookbook for simple concepts. To get the most from this book you need to have a firm grounding in programming. Here’s the official blurb from the book’s website.
With the release of PHP 5 web developers need a guide to developing with PHP 5 to both learn its complex new features and more fully implement the long-standing features on which PHP’s success is built. PHP 5 in Practice is a reference guide that provides developers with easy-to-use and easily extensible code to solve common PHP problems. It focuses on providing real code solutions to problems, allowing the reader to learn by seeing exactly what is happening behind the scenes to get your solution. Because a real-life situation will rarely match the book’s example problems precisely, PHP 5 in Practice explains the solution well enough that you will understand it and can learn how to truly solve your own problem.
What does all that mean? It means if you have more than one or two years experience in programming then you want this book on your bookshelf. The book contains some great code and will help intermediate and advanced programmers quickly implement the (sometimes difficult) concepts it discusses.
For example, there’s a section on “Binary Tree Implementation”. Now I’ll argue that some programmers can go their entire career and not have to implement this data structure. However, when you need to do so and you are not familiar with them then this chapter is an excellent primer and it contains the (object oriented) code necessary to get you going.
Binary Trees are just one example of the concepts discussed in this book. I started to list a few of my favorites but realized I was simply re-creating the table of contents. This isn’t a book you are going to sit down and read cover to cover. As a matter of fact, when you get it, you’ll probably glance through it, maybe check out the table of contents and read the preface and then probably just put it up on your shelf. However, when you get stuck on a problem and pull it down to see if the solution is in it, I’m betting you’ll be pleasantly surprised to find it is.
I usually try and point out the flaws in a book when I review it because no book is perfect. This one is not really a flaw but an observation. If you are a casual programmer, you may not get your money’s worth out of this one. It really is targeted to full-time programmers. Yes, casual programmers will most likely be able to get something out of it and if you just want to use it as a teaching aid then it may be worth the money. However, in my opinion, many of the problems discussed won’t be of much value to casual programmers in the real world.
One other thing I noticed. The authors spend about 4 pages on “Implementing a Simple Shopping Cart”. Simple doesn’t really describe this one. Of all the solutions they presented, this is the only one I found that seemed forced. Yes, technically speaking, what they show is a shopping cart but I question as to whether or not it is really usable in any real world situation. It may get you started but it’s not a real solution.
If you still question whether or not you want this book, go check it out on Safari. If you are not a member, then sign up for the free trial. If you are then you already know what to do.
The dead-tree version of the book retails for $39.99 US and in my opinion is one of those books that you’ll wear it out long before it is outdated.
=C=


Comments
What are the other four books in your Duct Tape Library? :-)
BTW, here is a direct link to it on safari
http://safari.samspublishing.com/0768667437
SQL For Dummies
I still use this book and I recommend it to anyone just getting into SQL.
SQL For Smarties
One of the GREAT SQL References. Joe Celko is a god.
Javascript Bible
An oldie but a goodie. I’ve got the 3rd Edition and the 5th Edition is out. That the 3rd edition is still useful is a testament to the skill of the authors.
Applying UML and Patterns
The Sailboat book. This one has helped me tremendously. I’ve purchased copies for 3 of my teams now and still have a copy for myself.
What’s in your Ducktape Library?
=C=
PHP 5 Objects, Patterns and Practice by Matt Zandstra
I need more