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.
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.
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.
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
|Trying to Tame the Tablet||May 08, 2013|
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- The Pari Package On Linux
- Home, My Backup Data Center
- New Products
- Developer Poll
- This is the easiest tutorial
4 hours 5 min ago
- Ahh, the Koolaid.
9 hours 44 min ago
- git-annex assistant
15 hours 43 min ago
- direct cable connection
16 hours 6 min ago
- Agreed on AirDroid. With my
16 hours 16 min ago
- I just learned this
16 hours 20 min ago
16 hours 50 min ago
- not living upto the mobile revolution
19 hours 42 min ago
- Deceptive Advertising and
20 hours 17 min ago
- Let\'s declare that you have
20 hours 18 min ago
Enter to Win an Adafruit Prototyping Pi Plate Kit for Raspberry Pi
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- Next winner announced on 5-21-13!