PHP is broadening its appeal.
What is it?
PHP has joined the mainstream. Zend Technologies has not only partnered with IBM to put enterprise-strength PHP on the iSeries platform, but has even persuaded Microsoft to stop treating PHP as a threat and start supporting it. It has been promised that PHP on IIS and Windows, previously painfully slow, will catch up with performance on Apache.
According to the Tiobe Community Programming Index, over the past year PHP has moved from fifth to fourth in terms of skills availability, having overtaken C++, and is rapidly catching up on Visual Basic.
PHP is an open source, HTML-embedded scripting language, used for server-side web applications that generate dynamic web pages, providing an alternative to Microsoft's Active Server Pages and Sun's Java Server Pages. It can be downloaded and learned quickly from free web-based sources, and has an active community to help developers with support and code.
Where did it originate?
Originally written by Rasmus Lerdorf to maintain his online CV and Personal Home Page (hence the acronym) PHP was picked up by Zend founders Zeev Suraski and Andi Gutmans in 1997. They transformed it over the next two releases, adding the Zend Engine in 2000. The latest version is PHP 5.2.5, released in November 2007.
What's it for?
PHP mostly runs on the web sever to generate HTML web pages, but is also used for command line scripting for Unix, Linux or even Windows, and less often, for GUI-based desktop applications.
There are a number of frameworks for working with PHP, most conspicuously the forthcoming Zend Framework, and the Zend Studio Integrated Development Environment (IDE). Lesser-known options include CakePHP, PRADO and Symfony. For those with a background in classic Rapid Application Development, there is even a version of Delphi for PHP.
What makes it special?
Perl has CPAN, the Comprehensive Perl Archive Network. The PHP equivalent is Pear, the PHP Extension and Application Repository, a framework and distribution system for free PHP code components. PHP's supporters claim it has C's elegant syntax and Perl's powerful performance, without the complexity of either. PHP also supports a very wide range of databases, from the most widely used commercial and open source, like Oracle, IBM DB2, Sybase, MySQL and PostgreSQL, to rare and legacy databases like Informix and Ingres. PHP's functionality can easily be extended with C programming.
How difficult is it to master?
Enough PHP can be picked up in a few hours to make you productive, but more advanced skills will need time and patience. A background in the languages PHP borrows from, such as C, Perl or Java, would give you a start.
Where is it used?
Because anyone can download and use PHP, it's hard to keep track of where and how extensively it is used. There's a story that the CIO of a global IT vendor denied his organisation used it, only to be told later that his web operations depended on it. PHP is also favoured by organisations with no full-time IT staff.
What systems does it run on?
Apache, IIS and other web servers, most Unix, Linux, Mac OSX and Windows.
What's coming up?
PHP 6 is due for release any time now but development of PHP 5 will continue in parallel.
For free tutorials, start with www.php.org, www.php.net or devzone.zend.com.www.zend.com offers more formal training, and manages certification.
Jobs and money
£25,000 to £40,000 depending on other skills -higher with C/C++ than with MySQL.