PHP Master by Lorna Mitchell, Davey Shafik and Matthew Turland
reviewed by Kim
At 357 pages (375 including index), this book provides a thorough grounding in the key topics todays PHP developer should strive to know, and know well. The back cover ambitiously states that the book is “guaranteed to take your PHP skills to the next level”. Keep reading to find out whether or not I agree.
As one might expect from a book with three authors, writing styles vary from chapter to chapter which is no bad thing. I noticed the tone range from supportive and encouraging (OOP, Databases, Security, Q&A) through to a faster-paced more factual prose (Design Patterns, Automated Testing, Appendices). This actually worked out quite nicely as the variations were generally a good fit with the prevailing topic. Each chapter is divided into a wide range of subtopics, several of which include references to further reading resources. Code samples from the book can also be downloaded for your own tinkering pleasure.
The Preface squarely aims the book at intermediate level PHP developers: “those who have left their newbie status behind and are looking to advance their skills and knowledge.” I would place myself somewhere in the vicinity of this mid-range group and, as such, felt quite at home in some parts, more challenged in others. I discovered several completely brand new things, even in topic areas I rather smugly thought I knew quite well.
Despite the stated demographic, I think this book has a lot to offer novice developers. It would be a real challenge to properly digest and understand the wide range of topics covered, but an achievable and worthwhile one nonetheless. Prerequisites would include a steely-eyed perseverance and willingness to doggedly pursue further reading references. I for one would certainly have welcomed the opportunity to learn from this book in my fledgling months.
For me, the API chapter was the stand out star and, in my view, should be expanded into a book in its own right. The author skilfully made it feel easy and enjoyable to read, even though it was absolutely jam-packed full of brand-new concepts (for me at any rate) that would usually activate my fight or flight response. OOP, Databases, Performance and Quality Assurance were engaging yet relatively easy-going chapters. I found the Testing and Security chapters more challenging to *properly* understand on first pass. I had to really stop and think in places to make sure I understood some of the code examples (Testing) and attack vectors (Security).
Every single chapter delivered something new for me. I particularly appreciated the occasional ‘rule of thumb’ provided here and there, my favourite being how to identify methods that should be declared static (OOP, page 7). For me, this sort of tip is priceless and will stick with me for years to come (much like the old adage from school ‘i before e except after c’).
PHP Master has provided me with a more solid and up-to-date foundation of knowledge on which to base my future experience. But has it improved my skills as a developer? It’s hard to say at this point. I think skills improve through a combination of education and experience. With that in mind, the book delivers the first 50% – the rest is down to me.
If you’re still undecided, my advice is buy the book – you won’t regret it.