Author: Dagfinn Reiersol, Marcus Baker & Chris Shiflett
Publisher: Manning, 2007
Aimed at: Experienced programmers
Pros: Advanced treatment of OO concepts
Cons: Doesn’t introduce PHP
Reviewed by: Ian Elliot
This isn’t a beginner’s book on PHP – the clue is in the subtitle “Objects, Design, Agility”. It deals with many theoretical ideas concerning object-oriented programming, design in general and patterns in particular. It doesn’t really introduce PHP from first principles and moves very rapidly through different aspects of theory to the details of serving web pages and patterns for web interfaces. To get anything at all from this book you not only have to be a reasonably competent programmer, not necessarily in PHP, but a reasonably intelligent one as It does spend time explaining and motivating all manner of modern, trendy even, programming methodologies. The ideas are mostly about objects and object-oriented philosophy but you will find mention of most other “hot” topics including, aspect-oriented design even if PHP isn’t the ideal language to express or demonstrate these ideas.
It doesn’t spoon feed with simple examples and simplified explanations – it seems to expect you to do some work to gain the reward of understanding. As long as you aren’t a beginner you can pick up PHP as you go, but in many ways PHP is just a vehicle used to explain deeper concepts. Often object-oriented ideas are introduced by comparing how PHP implements some feature as compared to Java. So it does help if you have some passing acquaintance with Java but it’s not essential. Overall the book is well written with lots of interesting asides and almost personal comments – it’s fairly easy reading. The final verdict has to reflect the fact that this is an advanced book that happens to have picked on PHP as a language to use rather than dealing with the specifics of the language. It’s a good book if you are ready and willing to read it.