Author: Peter MacIntyre
Aimed at: PHP programmers who are neither beginners nor advanced
Pros: Some interesting insights
Cons: Often shallow or confusing
Reviewed by: Ian Elliot
Does this very slim book cover enough ground at sufficient depth to warrant the title "The Good Parts"?
PHP The Good Parts is more an introductory book than an intermediate or advanced book. However, it isn't really suitable for the beginner because it's a sort of ramble through bits of PHP that the author seems to think are important or strange or ... well I never did manage to figure out the reason for inclusion or the logic behind the book.
There are also lots of places in the book where the treatment of a topic is so shallow as not to really be an accurate reflection of the situation. For example, the section on cookies and session state management doesn't really give you any idea what is going on. It doesn't, for example, distinguish between maintaining state between or with a session. It also doesn't point out that session state is most often implemented using cookies.
This is a very slim book and frankly it doesn't cover enough ground at a sufficient depth to warrant the title "The Good Parts".
Chapter 1 is an overview of the history and use of PHP. Chapter 2 is a basic primer on PHP - variables, control statements etc. plus a little about working with web pages. Chapter 3 is about functions and really misses a lot of good stuff. Chapter 4 and 5 are about strings and arrays and do nothing that the documentation or any introductory book on PHP doesn't. Chapter 6 introduces objects and here you might expect some clever stuff - but no it's still plodding on.
From here the book moves into wider topics - database, email, PDF generation and PHP security. All treated in a very shallow way. Chapter 10 is on PHP 5.3 but its just a retelling of the manuals take on closures and name spaces. Chapter 11 deals with regular expressions, XML and suitable IDEs.
The appendix lists PHP bad parts - the goto, loose typing and a few other things. If this is all the bad the author can find then he hasn't been digging deep enough - there are some very messy bits in the PHP language that are forced upon it by its loose typing and having objects tacked on later. For example the simple fact that all functions are global - see PHP inner functions and closure for example - perhaps O'Reilly should have got Alex Amstrong to write the book.
The big problem with this book is that it simply doesn't live up to the promise of showing the reader the good parts - it really isn't selective, it isn't deep and it doesn't explore any of the nooks and crannies of PHP where the good and the bad might be lurking.