Improve Your PHP Development Skills

Maybe you struggle with object oriented code, understanding it and writing it. Perhaps you’re tired of having to rewrite code that doesn’t pass code review or introduces a bug you didn’t expect. Maybe you’d like to impress your boss by improving your skills without having to attend an expensive conference.

If any of that describes you, then I have good news: Do This, Not That: Object Oriented PHP is almost here! I’m launching it tomorrow to subscribers to my mailing list, and then on Wednesday to the general public. But here’s the catch: I’m offering a special 20% off launch day deal and it’s only available to people who are members of the launch list!

Continue reading

Private Methods Considered Harmful

The following is an excerpt from a draft version of Do This, Not That: Object Oriented Development. Sign up today to be the first to get a copy this week!

A few weeks ago, I was tasked with integrating a library that was designed by someone else. This library was intended to access APIs and return the data so that it could be used by my application. This seemed straightforward enough, except that the API I was working with had a few quirks, namely that it interpreted the query string directly, and so it was possible to have a query string similar to this:

Continue reading

Introducing “Do This, Not That” For PHP Developers

Do This, Not That

When I was a new PHP developer, I discovered that there’s a myriad of solutions, options, configurations and frameworks available. I thought, how does one sift through all the noise and get something done? How can anyone have a grasp of the best practices in PHP, and make sense out of all the options? Which extensions do we use, and how do we use them? What’s a best practice, anyway?

This is why I’ve decided to offer “Do This, Not That” for beginning and intermediate PHP developers looking to find a better grasp on precisely how to develop in PHP. This great series of highly focused e-books will offer tips, tricks and best practices focused on core areas of PHP development, including databases, security, filtering, regular expressions, configuration and more. Since it will be a series of tightly targeted solutions, developers will be able to pick all, some or just one of the offerings that solves their specific problem(s).

Continue reading

Book Review: “The Grumpy Programmer’s Guide To Building Testable Applications”


When most developers think about books on testing, they think about books that highlight things like “test driven development” or “how to build a test for X.” There are lots and lots of testing books out there that supposedly teach us how to write tests and reach milestones like “100% test coverage.” But at the risk of sounding risque, testing is very similar to sex: more people claim to do it than actually do, most people claim more experience with it than they actually have, and more people have advice on the subject than probably should.

This is not true of Chris Hartjes’ book, “The Grumpy Programmer’s Guide To Building Testable PHP Applications”. When I asked Chris if I could review his book, I expected a step-by-step guide to writing tests. What I got was a step-by-step guide to building an application that COULD be tested. There’s a big difference, and it’s important to understand the distinction.

Continue reading

PHP: The Good Parts – Book Review

Wez Furlong received a copy of PHP: The Good Parts as a thank you for his participation as a technical reviewer, and loaned it to me for a read. After reading it, I wanted to put together a brief review of the book for those who might be interested in this new title from O’Reilly.

My overall impression of the book was disappointment. To some degree I was hoping for a book that would show me special parts of PHP that perhaps I had overlooked; instead, the book focuses on a basic introduction to PHP, and one that isn’t very detailed in the first place. The book’s focus as an introduction also fails to teach basic programming concepts, meaning that non-programmers will not find the book to be useful.

Continue reading