PHP is wildly popular in the open source community, but less so in the enterprise. These things are hard to measure, but one indicator is job vacancies.
According to ITjobswatch, there are nearly four times as many jobs for ASP.NET developers as for PHP, and even more for Java. PHP sponsor Zend Technologies wants to change that.
According to CEO Harold Goldberg, enterprises are looking for ways to expose existing applications to the web, and turning to PHP as a lightweight and rapid enabler.
He adds that PHP is growing below the radar. "I'll quote a speaker from IBM, David Boloker, who went to his CIO and said, 'Do you have any PHP running in IBM?', and the CIO said no. Then he went and did a survey of all the servers and websites, and 40 per cent of IBM's web is running on PHP. So it depends on how you ask the question."
Zend's new assault on the enterprise is based on several initiatives. The Zend Framework is a new open source library, just released under the BSD license, which provides a model-view-controller system, classes for SQL database access, and a range of other classes ranging from user permissions to accessing Google services.
Will the Framework's overhead threaten PHP's lightweight appeal? "We're trying to not impose undue overhead," Zend chief marketing officer Mark de Visser said. "You have the hard core hackers that want to do everything themselves. But many people want to create web applications but do not want to learn all these details, and for them the framework is enormously beneficial. In addition, you can just use the components that are worth your while, and stay away from others."
The current Framework does not include visual components, but this is planned. "We have in the works a visual component model that we're going to build on top of the Zend framework," Zend co-founder Zeev Suraski said. "This component model will communicate with WYSIWYG tools that will allow you to create AJAX-based applications quickly."
IDE support is another major area. Here it gets confusing. PHP developers use all sorts of IDEs or none, but Zend has a well established commercial product called Zend Studio. Recently, the company has adopted Eclipse as the platform for a new set of PHP tools. "About a year and a half ago we started on a collaboration project, to deliver an Eclipse based IDE. Our rationale for it was that there that we're keen to benefit from the large community around Eclipse, and to add support for things like ClearCase, already supported in the Eclipse world," Visser said.
This is the PDT (PHP Development Tools) project, which is free and open source. On top of this, Zend is building a commercial IDE codenamed Neon, which is the PDT "extended with some corporate requirements such as source code control, unit testing and refactoring", which de Visser says will be released by the end of this year.
So will Neon replace Zend Studio? Zend is prevaricating. "We're taking market feedback for that," de Visser said.
"They're really going after different markets," adds Goldberg. "You have a very different set of needs around the Enterprise, because they want to write within the Eclipse environment."
Zend has some tricky positioning to do, if it really intends to continue with both Studio and the Eclipse-based tools. Eclipse is not just for the Enterprise; it is free, and appeals to everyone from hobbyists up.
Reading between the lines, you get the impression that Zend prefers its own IDE. "It's slimmer, easier to use, and streamlined for PHP development," de Visser said.
Despite these advantages, my hunch is that Eclipse will take over in due course.
What about PHP security?
"Since PHP is so easy to adopt, lots of junior programmers have started using it and have created some questionable applications," de Visser said. "At the same time, if you remember that all of Yahoo! is running on this, it is certainly possible to create secure websites with PHP.” All true, but more is being done to promote security.
Suraski adds: The way we look at it is twofold. One, making it easier to create secure code at the language level. A few years ago we got rid of Register Globals, which was not insecure in itself, but made it intuitive to create insecure applications. We're doing similar things in PHP 6, getting rid of certain elements, tweaking others, adding APIs to filter input.
"The other part of it is simply education. Unfortunately, there's no magical way to make all applications secure. If you use the Zend Framework to communicate with the database, you're much less likely to suffer from SQL related attacks than when using plain vanilla PHP." ®