I’ve read quite a few PHP books, and most of them suck. Many of them contain the same or very similar material recycled with new examples. Only one stands out in my mind as truly exceptional: Advanced PHP Programming. I am willing to bet this is the best book out there for novice to advanced PHP developers. It is not the best beginner book as it has some advanced topics (as the title suggests), but the material it covers is seldom mentioned in any detail in other books.
The book is an excellent resource for novice programmers hoping to become “experts” in the field. Granted, the coverage in the book is a little superficial in some places, but it serves as an excellent introduction to advanced concepts. These concepts played a major role in my understanding of scaling PHP applications.
After developing PHP for nearly a year by the time I had read the book, I remember thinking how much time the book would have saved me had I read it earlier. Many of the lessons the book mentions are things novice programmers learn from trial and error or from tons of Googling.
The book most notably covers some very common problems a PHP developer unexpectedly faces at some point in their career:
- Session management, especially when integrated with a database back end
- Common security misconceptions
- A real database abstraction layer layer (warning: difficult example for beginners)
It also covers some of the new features of PHP 5, which is still foreign and underused by many:
- Exception handling
- Object oriented development (with some best-practices included!)
Personally, and this is strictly personal, I feel very much more confident in a developer’s ability when I see her/she is able to write clean, object oriented code that uses exception handling. This is very common in C++ or Java, but is relatively uncommon in PHP. In general, these are good programming practices.
It’s been a few years since I first picked up that book, and even today, sometimes I skim through it and think, “Oh, I forgot about that!” The book was the single greatest investment I ever made in my PHP skills. I’ve recommended this book to every novice PHP developer I’ve ever met.
If you know PHP, but want to know PHP, buy this book. It’s the gateway drug into an advanced PHP programming high.
I find my analogy funny.