Author: Matt Doyle
Publisher: Wrox, 2009
Pages: 840
ISBN: 978-0470413968
Aimed at: Programmers moving to PHP
Rating: 5
Pros: Clear explanations, comprehensive coverage of topic
Cons: Not suitable for complete beginner to programmming
Reviewed by: Mike James

This was originally going to be a book on PHP 6.0 and it was revised to PHP 5.3 because PHP 6.0 too new. Most PHP programmers use 5.x and it will be some time by most estimates before a significant number move to version 6.0. So by giving up the opportunity to be up-to-date Wrox has published a book that is of far more use to most of us.

This is fairly straightforward approach to explaining PHP with the first eight chapters following a fairly standard course through the material - nothing wrong with that! The explanations are clear, occasionally a little too much for the complete beginner, and the examples are short and to the point. By Chapter 8 we have reached objects and object-oriented methods having covered getting started with PHP, variables, control structures and so on.

The rest of the book is a section titled "Using PHP in Practice" and this deals with all of the ways that PHP interacts with other web technologies. The book explains how to handle forms, preserve state, work with files and devotes three whole chapters to the  MySQL database. From here the book starts to cover the margins of the PHP world - PEAR, working with images, regular expressions, XML and writing high quality code. Although much of the book is suitable for the beginner the technical level does increase fairly steadily but the ideas are well explained. The book would also be useful if, like many, you have "picked up" PHP as you went along by looking at other people's code and modifying it.

There is nothing trendy or gimmicky about this book and it's aimed at the intelligent reader who wants to know about PHP and how it all fits together. If you read it carefully and think about the explanations then you should turn out to be a good PHP programmer with some idea of why the language is like it is and how it interacts with the other technologies of the web. 

Recommended to everyone but the non-programmer.