~~SLIDESHOW~~
Supplementary Material
Provided for Reference. This material is no longer taught on this module.
Lecturer: Dr Chris P. Jobling.
An introduction to PHP, one of the most popular server-side scripting languages for web applications.
PHP is rapidly becoming the favourite language for server-side web applications development. In this lecture we introduce the language and some of its features. To set PHP in context, you should study this lecture in conjunction with the Introduction to JavaScript.
Based on Chapter 12 of Robert W. Sebasta, Programming the World-Wide Web, 3rd Edition, Addison Wesley, 2006. and Chapter 12 of Chris Bates, Web Programming: Building Internet Applications, 3rd Edition, John Wiley, 2006.
Introduction to PHP with examples
At the end of this lecture you should be able to answer these questions:
At the end of this lecture you should be able to answer these questions:
At the end of this lecture you should be able to answer these questions:
chop
function do? At the end of this lecture you should be able to answer these questions:
endwhile
? <?php … ?>
include (“myScript.inc”)
<?php … ?>
, even if the include statement is already in <?php … ?>
$
// JavaScript-like inline comment # perl-like inline comment /* Java-like block comment */
explanation: a block is defined as code for which variables defined between braces (not function bodies), are local to the enclosing block. Java has this property but JavaScript and PHP do not.
NULL
unset
function sets a variable to NULL
IsSet
function is used to determine whether a variable is NULL
error_reporting(15);
– prevents PHP from using unbound variables phpinfo()
in a script boolean
, integer
, double
, and string
array
and object
resource
and NULL
<note>
Characters are single bytes: This means that, unlike HTML, PHP does not natively support Unicode characters. There are a pair of functions utf8_encode()
and utf8_decode()
which provide some Unicode support. There are implications of this if you want to develop PHP applications accessible in countries which do not use the utf-8 character set.
</note>
true
and false
(case insensitive) 0
and “”
and “0”
are false
; other values are true
floor
, ceil
, round
, abs
, min
, max
, rand
, etc. .
, for concatenation $str[3]
is the fourth character strlen
, strcmp
, strpos
, substr
, as in C chop
– remove whitespace from the right end trim
– remove whitespace from both ends ltrim
– remove whitespace from the left end strtolower
, strtoupper
– convert case of string e
or an E
, it is converted to double; otherwise to integer (int)$total
or intval($total)
or settype($total, “integer”)
gettype
or is_type
:gettype($total) // may return "unknown" is_integer($total) // a predicate function
echo
, print
, and printf
echo
and print
take a string, but will coerce other values to strings:echo "whatever"; # Only one parameter echo("first <br />", $sum) # More than one print "Welcome to my site!"; # Only one
echo
has a shorthand <?= ?>
that makes it pleasanter to print the value of a PHP variable in copy mode:<p>Hello <?=$name?>, welcome to my site. It's <?=date("D M j Y")?> today.</p>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title> Trivial php example </title> </head> <body> <?php print "Welcome to my Web site!"; ?> </body> </html>
A simple example to illustrate a PHP document: today.php (today.php @ localhost)
<!DOCTYPE html> <!-- today.php - A simple example to illustrate a PHP document --> <html lang="en"> <head> <meta charset="utf-8" /> <title> today.php – A simple example to illustrate a PHP document </title> </head> <body> <p> <?php print "<b>Welcome to my home page <br /> <br />"; print "Today is:</b> "; print date("l, F jS"); print "<br />"; ?> </p> </body> </html>
Result:
===
and !==
) &&
and and
, ||
and or
. if
, if-else
, elseif
switch
– as in C switch
expression type must be integer, double, or string while
– just like C do-while
– just like C for
– just like C foreach
– discussed later break
– in any for
, foreach
, while
, do-while
, or switch
continue
– in any loop if (...) : ... endif;
An example to illustrate loops and arithmetic: powers.php (powers.php @ localhost)
<!DOCTYPE html> <!-- powers.php An example to illustrate loops and arithmetic --> <html lang="en"> <head> <meta charset="utf-8"> <title> powers.php &ndash An example to illustrate loops and arithmetic </title> </head> <body> <table border = "border"> <caption> Powers table </caption> <tr> <th> Number </th> <th> Square Root </th> <th> Square </th> <th> Cube </th> <th> Quad </th> </tr> <?php for ($number = 10; $number <=20; $number++) { $root = sqrt($number); $square = pow($number, 2); $cube = pow($number, 3); $quad = pow($number, 4); print("<tr align = 'center'> <td> $number </td>"); print("<td> $root </td> <td> $square </td>"); print("<td> $cube </td> <td> $quad </td> </tr>"); } ?> </table> </body> </html>
<?php $a = 7; $b = 7; if ($a == $b) { $a = 3 * $a; ?> <br /> At this point, $a and $b are equal <br /> So, we change $a to three times $a <?php } ?>
<note warning> this is not necessarily a good idea! Notice how the end brace for the conditional is separated from the loop body by several unrelated HTML tags. This produces fragile code – if the second set of PHP tags where removed, a syntax error would occur which might be difficult to track down. </note>
Introduction to PHP with examples
At the end of this lecture you should be able to answer these questions:
At the end of this lecture you should be able to answer these questions:
At the end of this lecture you should be able to answer these questions:
chop
function do? At the end of this lecture you should be able to answer these questions:
endwhile
? Introduction to PHP (Part 2)
Further features of the PHP language