As part of investing in myself I decided to read four different programming/management books in 2017. For the second quarter, I read PHP Objects, Patterns, and Practice by Matt Zandstra. This is my writeup for “proof”.
Main Take Away
PHP Objects, Patterns, and Practice is broken into three different parts.
The “Objects” section discusses how to use objects in PHP. It’s most basic usage of how they work which was a good refresher for the group that read the book but there wasn’t much new information. It did go over the reflection API which was nice to know about but I’ve never really had a need for it in any of the applications I’ve written so far.
The “Patterns” section goes over a score of different patterns you can follow to architect your application. I think this is where the real “meat” of the book was because it reviewed some patterns I’ve seen before, show me new patterns, and also showed me patterns I’ve used in C++ but in a way that’s better suited to PHP.
The “Practice” section went over several concepts necessary for modern PHP programming. This was another mostly a review for me but include things like Phing which I’ve never used before.
Overall, the book was mostly good parts. There wasn’t a lot of fluff and the parts that were review for me where very easy to read.
The Not Bad Parts
The “Patterns” section was a real slog. It was full of useful information but it was really hard to get through. I can’t argue that any of it is fluff but I think the combination of lots of new concepts plus a lot of code samples made it a long read. It also put me to sleep, so I feel like I was only able to read for ten to twenty minutes at a time before I fell asleep (a downside to reading technical books before bed).
I would recommend this book for just about every level of PHP programmer except very advanced. There were only a few sections where I couldn’t relate it to a current or past project and I’ve started implementing some of the patterns in my existing projects and they’ve made the code a lot easier to work with.
This quarter (and maybe part of the next), I’m going to read Clean Code: A Handbook of Agile Software Craftsmanship. For the last two books, we’ve operated as a kind of virtual book group at work but this quarter (our busy season) we’re taking a book break. Because of this, I’m going to try and post more updates about my progress as I work through Clean Code and do a big post at the end.