PHP

Greenland native Rasmus Lerdorf was tired of writing the same code over and over while creating his personal home page back in 1995.

So, he says, he wrote "a very simple parser" to replace tags in an HTML file with some code he'd written in C.

That project evolved into PHP, an open-source scripting language now installed at more than one in every five Web domains, according to an October 2001 survey of more than 6 million domains conducted by Netcraft, a Bath, England-based Internet consulting company.

More

Computerworld
QuickStudies
PHP fans say the language is exceptionally easy to learn. It has a lot of built-in functions such as simple connections to databases and support for the Lightweight Directory Access Protocol (LDAP).

"PHP was developed from the ground up to be a Web platform," says Zeev Suraski, chief technical officer at Zend Technologies Ltd. in Israel and an author of the current version of PHP. "Very powerful applications can be created in a very short time. . . This is the No. 1 feedback I get from people."

PHP code is highly portable; it moves from one brand of server to another with minimal or no rewrites. This multiplatform support appeals to IT managers who don't want to be locked into a single brand.

Free and Easy

As open-source software, PHP is free for corporate use and works well with other popular open-source projects, including the Apache Web server and the MySQL and PostgreSQL databases.

"If we didn't have PHP, it would cost us six to seven times as much to operate [our] IT environment," says Kevin Crothers, head of corporate Web systems at WorldCom Inc. WorldCom has used PHP for several major Web projects, both internal and external, including the front end to a searchable database of employees and contractors that contains more than 100,000 records. "It's all LDAP-based," he says, noting that PHP had "the strongest LDAP integration we've been able to find."

PHP uses server resources efficiently, Crothers says. It uses memory sparingly and allows client-side interpretation of code to shoulder some processing burden.

"There's money in your pocket right there," he says, because a PHP-based application requires less server hardware than some other environments. Crothers adds that he has found PHP to be both stable and secure, and he believes that the language is very easy to learn compared with competing technologies such as Microsoft Corp.'s Active Server Pages (ASP) technology for dynamic Web applications.

Room for Improvement

However, many developers generate ASP code from software such as Microsoft's Visual InterDev, which can be easier for nonprogrammers than coding in PHP, Suraski notes.

At present, there are no high-level commercial WYSIWYG Web authoring tools that automatically generate PHP pages, which means you need actual programming knowledge. That doesn't appeal to every Web development shop, but Suraski says he believes some PHP authoring tools will be out later this year.

He also acknowledges that PHP's object-oriented programming capability, compared with that of Java, for example, "is not as powerful as it should be." This can make PHP a bit more cumbersome for creating very large-scale applications. However, improvements are in the works for PHP Version 5.0, he said, which is due sometime in the second quarter.

Lerdorf says other upcoming improvements include making PHP Extension and Application Repository (PEAR) more useful. PEAR solves some Web-related problems but isn't part of PHP itself. "You will also see some nice ways to build [Simple Object Access Protocol/Web Services Description Language] services with PHP," he says.

PHP is an interpreted language and doesn't use compiled binary executables, so PHP applications can be more easily viewed and dissected by competitors, says Crothers. For hiding code or creating applications for resale, products such as Zend's Encoder will mask some work.

For professional-level quality assurance and testing, Crothers advocates using a product such as Komodo from Vancouver, British Columbia-based ActiveState Corp. Komodo's integrated development environment is available free to individuals and nonprofit organizations.

Ultimately, Crothers says, PHP is an excellent environment for creating Web applications for WorldCom. "It does everything," he says.

Above is an example of simple PHP code for e-mailing data entered into an HTML form, where the form has fields called comments (for comments entered by a user) and frommail (for a user-entered e-mail address), as well as a hidden field tomail (for the address where information should be sent). The e-mail would be sent with the subject line "User Comments."

In a production environment, additional code would be added for validation and security.

See additional Computerworld QuickStudies

Copyright © 2002 IDG Communications, Inc.