ZendCon 2010: 3 Questions with Matthew Weier O’Phinney

If you have hung around the PHP community for any amount of time, you’ve probably heard of MWOP, Zend Framework’s Supreme Allied Commander, the man, the myth, the legend, Mr. Matthew Weier O’Phinney. (MWOP…see how that works?)

Matthew is a busy man these days working on Zend Framework 2.0, speaking at local user groups and in all his spare time being a dad and husband. I recently caught up with up with Matthew on IRC and in between answering my Zend Framework tech support questions, he agreed to answer…3 Questions.

Did the community elect you “Supreme High Commander of Zend Framework”, were you appointed, or was it a bloody coup?

I was appointed first Software Architect and then Project Lead by Zend, based on a variety of factors, including my involvement in the community, the volume of contributions I’d made, and the role I’d played in architecting a number of key components within the framework.

Somewhere along the line, I think during php|tek 2008, Keith Casey started introducing me to folks as “Supreme Allied Commander” of Zend Framework, and the title has, well, stuck in infamy.

My business cards simply list “Software Architect”, and feature no superhero or military insignia whatsoever.

I just got a handle on Zend_Forms, why are you ripping the rug out from under me and creating ZF 2.0?

The fact that it’s taken this long for you to learn Zend_Form is precisely one of the reasons for re-architecting components with Zend
Framework 2.0. I want you, Cal Evans, to be able to grasp forms without pestering me in IRC.

[Editor's Note: Ouch.]

To quote our requirements document,

“The primary thrust of ZF 2.0 is to make a more consistent, well-documented product, improving developer productivity and runtime performance.”

Many features in ZF1 are difficult to understand, due to either incomplete documentation (which can be from anything, including lack of examples to missing configuration option narratives) or poor architecture (yes, I’m perfectly capable of looking objectively at my own framework). Additionally, a number of design decisions (or lack thereof) have led to some poorly performing code.

We want to improve these situations. Already, we have identified several bottlenecks both in terms of user education as well as performance, and are trying to make these simpler and faster — changes to autoloading and plugin loading alone could lead to exponentially greater improvements in performance, while simultaneously making the underlying code easier to understand and use.

As an example, when profiling changes to plugin loading, I discovered that the ZF1 solution took no fewer than 15 calls before initializing a plugin class; the equivalent code in ZF2 took 4. This is not only more efficient code, but it makes the code easier to debug — which typically also means the code is easier to grasp for new users.

I’m still in the initial stages of examining our MVC structure, but I’m seeing a number of similar situations that we can dramatically change for the better — meaning simpler and faster. This will be a huge win for Zend Framework users.

Do you want to comment on the rumor that your blog name, “phly boy,phly“, is a subliminal message to convert Ruby programmers to convert to PHP?

I started blogging in 2004. I’d heard of Ruby, but Rails had yet to be born. I’d read a book on blogging somewhere, and one piece of advice it had was to give your blog a unique, memorable name. I knew I was going to blog primarily on PHP at the time (I was using PHP full-time at my job, along with the occasional Perl, JavaScript, CSS, and SQL, and needed a place to put things so I could remember them), and, well, my last name has a “ph” in it already, so I started riffing on “ph-” names. I never intended for it to stick, but I’ve never really found a need to change it, either. I mean, really, flying is much faster and more expedient than the train most days, right?

Matthew is one of the speakers at ZendCon 2010. Purchasing a ticket is the easiest way to find out more about Matthew, Zend Framework and PHP in general.

About Cal Evans

Many moons ago, at the tender age of 14, Cal touched his first computer. (We're using the term "computer" loosely here, it was a TRS-80 Model 1) Since then his life has never been the same. He graduated from TRS-80s to Commodores and eventually to IBM PC's.
For the past 10 years Cal has worked with PHP and MySQL on Linux OSX, and when necessary, Windows. He has built on a variety of projects ranging in size from simple web pages to multi-million dollar web applications. When not banging his head on his monitor, attempting a blood sacrifice to get a particular piece of code working, he enjoys building and managing development teams using his widely imitated but never patented management style of "management by wandering around".
Cal is currently based in Nashville, TN and is gainfully unemployed as the Chief Marketing Officer of Blue Parabola, LLC.
Cal is happily married to wife 1.28, the lovely and talented Kathy. Together they have 2 kids who were both bright enough not to pursue a career in IT.
Cal blogs at http://blog.calevans.com and is the founder and host of Day Camp 4 Developers

Actually, it was before tek 2009. You did one of the webcasts and had just become the Project Lead of the ZF, so I wanted to introduce you creatively. I got to use it on stage at tek 2009 a couple times and included it in my blog.