PHP Intro/Overview
Squirrel Book pages 33-87
Server-side Scripting
Everything you need to know in one slide1.Web server (with PHP “plug-in”) gets a URL
request: http://www.site.com/page.php
2.Web server see’s that the page is .php
3.PHP Pre-processor searches the page for PHP code and executes the code.
4.Web server sends back the output of the PHP code, not the code itself.
PHP Basics
• PHP code can go anywhere in an HTML document as long as its in a PHP tag
• Example
<h1><?php echo “Hello World”; ?></h1>
PHP Variables
• Variables do NOT have strict typing • Unless math operations are used, variables are
strings by default• Variables must start with $
<?php
$x = “Hello World”;
echo $x;
?>
Commenting
• 3 Types
// Comment
# Comment
/* CommentComment */
Print and Echo
• Print can print strings
print “42”;
• Echo is more robust than print, it can print numbers and more than one parameter, separated by commas
echo 42; // This will actually print 42$x = “is”echo “The answer ”, $x, “ ”, 42;
Single Quotes vs. Double
• These are the same…
print “This works.”;print ‘This works also.’;
• This makes it easy to print quotes
print “Here is a ‘single quote’ ”;print ‘Here is a “double quote” ’;
New lines
• The string variable $var contains a new line character “Hello there\n sir!”
$var = “Hello there
sir!”;
• Introducing new lines breaks makes it easer to write SQL queries that work…
SQL Example
$query = “ SELECT max(orderid)FROM orders
WHERE custid = $ID”;
• If you send this query string to some database servers it is important that the new line characters are in the string.
Variables in strings
$x = 256
// “My computer has 256 MB ram.”$message = “My computer has $x MB ram.”;
// “My computer has.” $message = “My computer has $xMB ram.”;
Why?
Variables in strings
$x = 256
// “My computer has.” $message = “My computer has $xMB ram.”;
// “My computer has 256MB ram.” $message = “My computer has {$x}MB ram.”;
Variables in strings
Using { } is very important when trying to include complex variables into other strings.
$message = “Mars has a diameter of {$planets[‘Mars’][‘dia’]}.”;
Variables
• Integers
$var1 = 10;
• Floats
$var2 = 6.1;
• Boolean
$var3 = true;
• String
$var4 = “true”;
$var5 = ‘true’;
$var6 = ‘10’;
$var7 = “6.1”;
Constants
define(“PI”, 3.14159);
print PI;
// outputs 3.14159
Notice that constants don’t have $Convention: Use all CAPS for constantsBTW, PHP is case sensitive
Expression and Operators
• Same as most high-level languages$z = 3;$x = 1;$y = 5.3;$z = $x + $y;$z++;$x += $y + 10;$z = $x * 10;
String concatenation
• Not the same as JavaScript!
$var1 = “Hello”;
$var2 = “ world”;
$var3 = $var1 + $var2; //This won’t work
$var3 = $var1 . $var2;
Conditionals (if statements)
• Same as other high-level languages
if ($var < 5) {
print “The variable is less than 5”;
}
Compound conditionals
if ($x == 1) {print “x is 1”;
}elseif ($x == 2) { // Notice elseif is one word
print “x is 2”;}else {
print “x is not 1 and not 2”;}
Loops
• While
$c = 0;
while ($c < 10) {
print $c . “ ”;
$c++;
}
• For
for ($c = 0; $c < 10; $c++) {
print $c . “ ”;
}
Loops: break
for ($c = 0; $c < 10; $c++) {
print $c . “ ”;
if ($c == 5)
break;
}
Type Conversion
$year = 2003; // This is an integer
$yearString = strval($year);
// $yearString is “2003” not an integer
Type Conversion
• string strval(any other datatype)
• integer intval(any other datatype)
• float floatval(any other datatype)
Implicit type conversion
• $var = “100” + 15;
• $var = 100 + 15.0;
• $var = 39 . “ Steps”;
• $var = 39 + “ Steps”;
Implicit type conversion
• $var = “100” + 15; // $var becomes int
• $var = 100 + 15.0; // $var becomes float
• $var = 39 . “ Steps”; // $var becomes string
• $var = 39 + “ Steps”; // error
Functions
// Function definitionfunction fname ($parameter1, $parameter2) {
code;code;…return $returnvalue;
}
// Function call$x = fname(1,2);
Variable Scope (visibility)
• Same as Java• Same as C++
function fun($x) {$temp = $x + 1;
}fun(5);print “temp is: $temp”;
Top Related