Glue and Mortar

As university students, Andi Gutmans and Zeev Suraski discovered PHP/FI-predecessor to PHP -- while working together on a "shopping cart" project for extra credit. They rewrote the PHP core engine and started their own company, Zend Technologies Inc.

What does the Model View Controller (MVC) pattern let you do in Zend Framework?
What Zend Framework has already had for the last year and a half is a really respectable MVC pattern, and what that allows you to do is to separate your business logic from the presentation layer. That's kind of the simple thing it allows you to do, but in most cases -- including ours -- it also allows you to create composite views. So if you have an app that has two or three different pieces of information on the same Web page, it allows you to build those kinds of Web pages in a very modular way. Also, our MVC supports AJAX, so if you're writing a rich Internet app with JavaScript on the client, there's already the right plumbing in our MVC framework to communicate with the browser and respond to AJAX requests from the browser.

"The risk with something like Silverlight succeeding too much is that it's not an open standard."

Andi Gutmans, CTO, Zend Technologies Inc.

What advantages does PHP offer for a Microsoft shop?
I think the main difference to customers who choose PHP -- and we have a lot of enterprise customers that have very heterogeneous environments -- is that they can use PHP on all of their systems. A Fortune 500 customer of ours -- a very big Microsoft and IBM customer -- they have mainframes, System i [IBM midrange server], Unix and Windows and they can now put PHP on System i, expose a Web service with PHP, put PHP on Windows and consume it on Windows.

What's the latest on your interoperability partnership with Microsoft? In the past year and a half, we've really been working closely with Microsoft to make sure that PHP works well on the Windows platform, and as part of that work they implemented FastCGI support for IIS and we optimized PHP on Windows. And with the release of Windows Server 2008, both of these efforts come together -- FastCGI ships with Windows 2008. And we have a product called Zend Core, which is our certified PHP distribution. We've worked with Microsoft to make sure that Zend Core is certified to work with Windows Server 2008. Now customers can come to Microsoft or Zend and get a PHP stack that's ready for running business-critical apps on Windows.

In your blog, you talked about MIX08 and your fears that technologies like Silverlight and Flex might work against an open Web.
The risk with something like Silverlight succeeding too much is that it's not an open standard. Microsoft decides which platforms are supported. So today, it's really Windows and Mac, and kind of Linux with the Novell relationship, but it wasn't planned last year when they announced Silverlight 1.0. So it means that if you're on a mainframe or System i, or any other Unix system, you might not have that available. I really think the foundation for the Web -- whether it's HTML, JavaScript or whatever comes afterward -- [we] should make sure those things are open standard so that all the different browser implementations can support them.

Someone at MIX08 described Web development as building the Taj Mahal out of wire and Popsicle sticks -- making older technologies do things they weren't meant to do. What's your view of Web development today, and how do the different versions of PHP fit into it? In general, we've always viewed PHP as a glue language. One of the reasons that PHP has become so successful is that it's very easy for people to adopt. You can develop object-oriented with it or you can develop in a functional paradigm with it, so anyone can pick it up. And it's very easy with PHP to get at any database, any Web service, any information assets in your company. And so this whole notion of gluing your various assets together has always been PHP's main strength, which is why it's so dominant today.

Where we're going is, we're continuing down the same path. So we're continuing to extend how you glue all your various assets together: the interoperability with the browser with AJAX, the interoperability with Web services. With PHP 6, we're going to have more internationalization support. The world is becoming flatter; a lot of companies are global businesses today. They need to be able to expose data and content in multiple languages. A lot of it is really more of the same, but we're continuing to evolve as the Web is evolving.

If Microsoft's bid for Yahoo! is successful, what are the implications for PHP development within Yahoo! and in the community at large?
I do think that over time, it's probably likely that Microsoft's influence will trickle over. You might see more use of Microsoft servers in production, so they might start running PHP on Windows. You might see more with Silverlight and, who knows, eventually over time, when they start a new big project and it's rewritten, there's probably a likelihood that they might choose ASP.NET before PHP. So I do think long-term it could affect how PHP is being used at Yahoo!. I think for the next couple of years, there probably won't be a lot of influence there.

About the Author

Kathleen Richards is the editor of RedDevNews.com and executive editor of Visual Studio Magazine.