The remarkable volume of information which has moved to the Web over the last few years, and the complexity of delivering it dynamically to Web users, have resulted in the increased popularity of programming languages designed specifically for delivery of Web content. The PHP Hypertext Preprocessor is one of the most widely used languages in this field, found on more than 16 million Web sites (www.php.net/usage.php).
PHP is similar to Microsoft Active Server Pages, Java Servlets and Cold Fusion Module but is commonly held to be much easier to program (or 'script') with, much faster than its competitors and, best of all, it is free to use and distribute.
What is a Hypertext Preprocessor?
It might be easier to understand this in an example: HelpScreen.com.au is powered by PHP and when you open www.HelpScreen.com.au/index.php in your Web browser, the Web server running the site asks PHP to translate any embedded instructions in the Web page. Within the page itself, PHP is "instructed to: check if the person requesting the page is logged in; generate a list of HelpScreen categories; locate the most recent questions on the site; generate the HelpScreen poll information, and much more. It is testament to the design of PHP that all this takes only a split second.
Should I use PHP?
PHP is ideal if you want your Web pages to be generated dynamically. That is, if you are finding it too laborious to update static Web pages constantly (consider how time-consuming it would be to rebuild the HelpScreen.com.au Web site every time someone asked a question!) or if your Web page needs to get information from other places, such as the system clock to display the current time, or a file or database system to display an address book.
How do I use PHP?
In order to use PHP you will need access to a Web server which runs the PHP Preprocessor. If your Web site is hosted by your ISP or a Web hosting company, you should enquire if they offer access to PHP; many do. If your Web site runs on your own server, you can install PHP on it yourself. If you are going to do this, follow these installation instructions:
Linux/UNIX users should unpack the source archive php-4.0.5.tar.gz. For information on installation, see the INSTALL file in the archive.
Windows users should unpack the Windows' binary release located in php-4.0.5-Win32.zip. Follow the instructions in install.txt for information on how to install PHP for your Web server.
If you don't have a Web server, you can use the Apache distribution. Linux/UNIX users should use apache_1.3.20.tar.gz archive. Installation information is included in the INSTALL file, as in the case of PHP. Windows users need only execute the file apache_1.3.20-win32-no_src-r2.msi. This will launch an install wizard that will guide you through the installation.
Setting up the PHP processor and your Web server is only half the story, however. Writing a PHP 'script' which will be processed by this system involves embedding instructions in a text file with the HTML you want to output. As in the case of an HTML document, this can be done with a standard text editor such as Vi or Pico on Linux/UNIX systems, or Notepad under Windows.
Let's have a look at a simple PHP script:<HTML><BODY> <? echo "Hello World!"; ?><? echo "The time is ".date('D M d H:i:s T Y')."\n"; ?> </BODY> </HTML>Save this file as hello.php and upload it to your PHP-enabled Web server. Requesting this page from your Web server with your browser will give you a page containing 'Hello World!' and a formatted current date. Notice that the PHP instructions are bracketed by <? and ?> tags - this is how the preprocessor knows the difference between HTML and PHP. PHP code (and all HTML) outside these brackets will be ignored and simply sent directly to the Web browser of the person requesting the page.
The two instructions which do the work in our example are 'echo' and 'date'. These functions are built into PHP. The echo function does what its name suggests - it 'echoes' to output the string following it. The second call to the echo function is followed by a string made up of several substrings. Next month we will look at how this works, and why it is useful in PHP.
Meanwhile, the date() function allows us to format the current date and time (see www.php.net/manual/en/function.date.php for meanings of the letters passed to the date() function). There are many other built- in PHP functions, all of which are documented in the PHP manual at www.php.net/manual/en/.
Next we will take a close look at strings in PHP as well as exploring the difference between functions and control structures (such as loops) in preparation for our first project: a PHP script which manages an online address book.