An Introduction to PHP3
One of the latest things to emerge in web development is a language called PHP. According to its proponents at http://www.php.net/, it is in use by Volvo, Red Hat, Miss USA 1999, First USA Bank, NASA JPL and other prominent organizations. One of its most popular applications is connecting to databases, but it can also talk to LDAP, IMAP and SNMP services, generate GIFs on the fly and do other tricks.
PHP3 is a server-side include scripting language and has been compared to Microsoft ASP (Active Server Pages), but with two differences crucial to me: it is open source and it runs on Linux. Actually, it is available under a GNU license or the PHP license, which allows commercial closed-source products to be developed from it. It runs on many UNIX platforms.
What is a server-side include? Think of it as another embedded language, like JavaScript, but which is converted to HTML (or images, JavaScript or other possibilities) on the server. The user's browser doesn't see the PHP code, just the results of executing it. This protects the developer's work, enhances security and bypasses things like conflicting implementations of JavaScript.
For example, the following code:
<HTML><BODY><?PHP echo "Hello, Net" ?></BODY></HTML>
in a PHP page on a PHP-enabled server will appear in the user's browser as Hello, Net.
What can PHP do for you? It greatly reduces the complexity of using cgi-bin variables and connecting to databases, and allows programming in an easy-to-learn language within web pages. It can do much more (the on-line reference lists 53 types of functions), but I will focus on database connectivity.
MySQL seems to be the most popular database to use with it, so I will use that for my examples. PHP can connect to Oracle, Sybase, PostgreSQL, Informix and other databases as well. It is important to note that PHP is not database-independent, unlike the DBI system used with Perl. You must use PHP functions tailored for the database you are targeting. This lets PHP access functionality available only in a specific database platform, but may reduce the portability of database-enabled projects.
In the following discussion, I will assume the reader has a knowledge of SQL, HTML and C.
I've already shown a “Hello, World” in PHP above. Note that the entire PHP code is embedded in a single tag within the HTML. The convention is to assign the extension .php3 to pages that should be pre-processed by PHP, although this is configurable. The page contains HTML (and whatever else the server and browser support, such as JavaScript) with one or more <?php ...php code... ?> blocks. As I mentioned above, the PHP is evaluated and its output sent to the browser, typically as HTML. PHP can also send any text language or even generate images on the fly.
The PHP blocks can be included anywhere in the HTML—even inside quotes or tags. For example, a link to another page could be produced from PHP. The following example:
<HTML><BODY> ... For more information, visit <A HREF= "<?php echo "moreinfo.html" ?>"> wacky link </A> </BODY> </HTML>
would work, although there is little point to it. The value of PHP is that it is a powerful programming language. It allows things like links to be generated by code. One can build a whole interactive web site with it.
PHP is much like basic C, a little like Perl, and has a few unique features of its own. Here are some key facts:
Variables are preceded by $ (just $, not @ or anything else).
Primitive types include integers, floats, strings, arrays, associative arrays and objects.
Type is usually set automatically, not in code, so there is no need to declare variables. They can be declared as static which makes them persist between PHP blocks on the same page.
//, /*..*/ and # are all used for comments—sort of a combination of C++, Perl and shell scripting.
Statements are terminated by semicolons.
Functions can be declared within a block. Their declaration and call resemble C.
Forms submitted to a PHP script pass in their variables (this is quite cool). They are accessible by name and also come in an array, which is nice when your calling form is a PHP program that may have unpredictable variable names.
The set of control structures and operators is very similar to C, although with some extensions.
There is limited support for object types.
Trending Topics
| You Need A Budget | Feb 10, 2012 |
| The Linux powered LAN Gaming House | Feb 08, 2012 |
| Creating a vDSO: the Colonel's Other Chicken | Feb 06, 2012 |
| Your CMS Is Not Your Web Site | Feb 01, 2012 |
| Casper, the Friendly (and Persistent) Ghost | Jan 31, 2012 |
| Razor-qt 0.4 - Qt based Desktop Environment | Jan 30, 2012 |
- Fun with ethtool
- Parallel Programming with NVIDIA CUDA
- Readers' Choice Awards 2011
- 100% disappointed with the decision to go all digital.
- Linux-Based X Terminals with XDMCP
- Validate an E-Mail Address with PHP, the Right Way
- You Need A Budget
- The Linux powered LAN Gaming House
- Build Your Own Arcade Game Player and Relive the '80s!
- Why Python?






3 hours 37 min ago
8 hours 43 min ago
9 hours 44 min ago
19 hours 11 min ago
19 hours 22 min ago
1 day 1 hour ago
1 day 4 hours ago
1 day 5 hours ago
1 day 6 hours ago
1 day 11 hours ago