PHP Doesn't Do WordPress and WordPress Doesn't Do PHP


If there’s one thing I have been consistent on in the past (almost) 6 years of blogging and engaging on the web, it’s that I believe in the mantra “no sacred cows”. In politics, I confound and confuse members of both parties who look at life through sterilized lenses that reflect their party platform. I will often stir up controversy by dragging people into a process of debate that, while respectful, causes them to think and re-think their positions. At least that’s the goal. I am a fiercely independent thinker and though some of my closest friends are on the left, I’ve ruthlessly challenged the parts of the left that I don’t like while supporting the ones I do. I’ve done the same thing with folks on the right.

So as I prepare to write this article with an admittedly slightly inflammatory title, I expect it will cause some controversies – maybe, and perhaps intentionally, it will cause some rancor in the leadership of the WordPress community itself – the ones who set the tone and cadence for the rest of the community. This is not all bad and nobody can ever accuse me of not being consistent in how I approach issues I feel strongly about.

For nearly 10 years, I have been coding in PHP. For the past 4, I have spent my time focusing my energies on WordPress specifically. It seems to me that for software that is built on PHP, then, there should be some consistent crossover between the WordPress community and the PHP community. That natural convergence does not seem to exist however.

Early on, when getting started on the web, I hung out a lot over at the SitePoint Forums. It was there that, through a community of PHP developers of varying skill levels, that I cut my teeth. I knew nothing at the time and there were folks who were much more skilled than me. It was in the PHP 4 era (that era had just begun and has since ended) so there was no such thing as real classes and object orientation. XML parsing became a hot topic during those days as PHP devs wrestled with the best way (they were all ugly!) to parse XML. I was just trying hard to figure out how to connect to a database.

I spent months learning and picking up what I could and contributing back my learnt wisdom to other newbies along the way. The cycle of karma was great as people learned and taught each other.

Shortly after I left SitePoint in 2003, I started blogging (May of 2004). I started on Textpattern but within a week, as my curiosity about this new WordPress platform started hitting my ears, I switched over to WordPress. I joined the wp-hackers mailing list and began immersing myself in the WordPress community. Generally speaking, people were very helpful and I learned a lot.

Eventually, as part of that community, I would lead the technology efforts at b5media where my team was responsible for a very large WordPress farm. Having some of the best and the brightest working alongside me meant that my good understanding of the PHP involved in WordPress, and the event driven nature of its core, would increase to maybe very good.

Today, my business is WordPress. I just wrote the WordPress Bible. I do WordPress consulting. I run all my blogs on WordPress. I speak at WordCamps all over. Heck, I’m organizing WordCamp Mid-Atlantic again this year. I love the WordPress community.

During the writing of the Bible, Keith Casey, my friend and also a top developer in the PHP community (He works with Marco Tabini of PHP Architect – if that doesn’t give him street cred, I don’t know what will), offered to review anything I wrote along the way. I took him up on it even though I already had editors including a very WordPress-specific technical editor. My thinking? Having someone from the greater PHP community look at my code for the WordPress world can only make it better.

My question is, why doesn’t the rest of the WordPress world do this as well? We, as a community, can only be better by embracing the greater PHP community. We can learn things from them. They can learn things from us. Of course, the greater PHP community is going to scorn WordPress for remaining PHP 4 compatible when PHP 4 is end of life and I think that point has validity but that’s not the point. I think both sides can agree that WordPress has its way and it is not likely to change its philosophy on this soon.

However, what about the rest of the converging community? Why do WordPress people not participate in the major PHP conferences like Tek-X or ZendCon? Why was Beau Lebens the only WordPress guy that I’m aware of that attended any of the 7-conferences-in-14-days-roaming-conference CodeWorks?

Why is it that when WordPress developers are asked to speak at these events, they look down their nose in scorn (I can think of two specific incidents that have been related to me)?

Hey, if we’re going to have a war on PHP coding ability, I’ve got to side with the PHP coders of the world, not the WordPress coders. If we’re going to have a war on extensible platforms, well, I’ll probably go with WordPress.

My point is really simple: The WordPress community needs to abandon this concept of elitism and isolationism. Yes, isolationism only makes you isolated. Over the past six months, I have come to appreciate the greater PHP community more. I’ve rekindled my love for that community and the karma and learning that comes from it. I’ve discovered new things about PHP because I’ve opened my horizons again and got outside the WordPress box. Fortunately, by doing so, I can apply that knowledge and karma inside the WordPress world as well. It’s sort of like finally getting that water after being parched and thirsty for so long. It’s refreshing and gives new energy and drive.

So in 2010, I will continue to work inside the WordPress world to try to influence change. My code will reflect that change. I’ve abandoned PHP 4 (but again, that’s beside the point) and won’t work with it in my own work, plugins, etc. I hope to make a major announcement regarding some crossover and convergence in the next few weeks as well.

To the PHP World: Understand that the WordPress world is different. You already know this. We are a PHP 4 world for a reason, like it or not. We need some understanding. We also have our feelings on GPL and open source which don’t always jive. Work with us. Help us be better.

To the WordPress world: Get outside your comfort zone and embrace the leaders in the PHP world. I already mentioned Keith. Add Marco Tabini, Ben Ramsey and Cal Evans to the list of people to pay attention to.