Unit 5 (A)
Unit 5 (A)
Megha Kamble
CSE LNCTE
LNCTE/CSE/V/CS504/Unit 5
Introduction to PHP
● “PHP is a server-side scripting language designed
specifically for the Web. Within an HTML page, you can
embed PHP code that will be executed each time the page
is visited. Your PHP code is interpreted at the Web server
and generates HTML or other output that the visitor will
see”
1 4 PHP
3
module
Apache
2
1: Client from browser send HTTP request (with POST/GET
variables)
2: Apache recognizes that a PHP script is requested and sends the
request to PHP module
3: PHP interpreter executes PHP script, collects script output and
sends it back
4: Apache replies to client using the PHP script output as HTML
output
Hello World! (web oriented)
<html>
<head>
<title>My personal Hello World! PHP script</title>
</head>
<body>
<?
PHP tag, allow to insert PHP
echo “Hello World!”;
code. Interpretation by PHP
?>
module will substitute the code
</html>
with code output
Variables (I)
• To use or assign variable $ must be present before the name of
the variable
• The assign operator is '='
• There is no need to declare the type of the variable
• the current stored value produces an implicit type-casting of
the variable.
• A variable can be used before to be assigned
$A = 1;
$B = “2”;
$C = ($A + $B); // Integer sum
$D = $A . $B; // String concatenation
echo $C; // prints 3
echo $D;// prints 12
Variables (II)
• Function isset tests if a variable is assigned or not
$A = 1;
if (isset($A))
print “A isset”
if (!isset($B))
print “B is NOT set”;
• Using $$
$help = “hiddenVar”;
$$help = “hidden Value”;
echo $$help; // prints hidden Value
$$help = 10;
$help = $$help * $$help;
echo $help; // print 100
Strings (I)
• A string is a sequence of chars
$stringTest = “this is a sequence of chars”;
echo $stringTest[0]; output: t
echo $stringTest; output: this is a sequence of chars
• Concatenation
$conc = ”is “.”a “.”composed “.”string”;
echo $conc; // output: is a composed string
$newConc = 'Also $conc '.$conc;
echo $newConc; // output: Also $conc is a composed string
Strings (II)
• Explode function
$sequence = “A,B,C,D,E,F,G”;
$elements = explode (“,”,$sequence);
// Now elements is an array with all substrings between “,” char
echo $elemets[0]; // output: A;
echo $elemets[1]; // output: B;
echo $elemets[2]; // output: C;
echo $elemets[3]; // output: D;
echo $elemets[4]; // output: E;
echo $elemets[5]; // output: F;
echo $elemets[6]; // output: G;
Arrays (I)
• Groups a set of variables, every element stored into an array as
an associated key (index to retrieve the element)
$books = array( 0=>”php manual”,1=>”perl manual”,2=>”C manual”);
$books = array( 0=>”php manual”,”perl manual”,”C manual”);
$books = array (“php manual”,”perl manual”,”C manual”);
echo $books[2]; output: C manual
• Common loop
for ($i=0; $i < count($books); $i++)
print ($i+1).”-st book of my library: $books[$i]”;
• each
$books = array( “php manual”=>1,”perl manual”=>2,”C manual”=>3);
while ($item = each( $books )) // Retrieve items one by one
print $item[“value”].”-st book of my library: ”.$item[“key”];
// each retrieve an array of two elements with key and value of current element
• Common loop
for ($i=0; $i < count($books); $i++ )
print “$i-st book, title: ”.$books[$i][“title”].” author: “.$books[$i][“author”].
“ editor: “.$books[$i][“editor”];
// Add .”\n” for text new page or “.<BR>” for HTML new page;
• You need to build one or more web pages to manage your library, but:
– “You have no time or no knoledge on how to plan and design
database”
– or “You have no time or knolwdge on how to install a free
database”
– And “The database to implement is small” (about few
thousands entries, but depends on server configuration)
Case study (small database II)
#cat /usr/local/myDatabaseDirectory/library.txt
php manual X A 330
perl manual Y B 540
C manual Z C 480
(fields separated by tabs: 'php manual<tab>X<tab>A', new line at the end of each
entry)
•
Object Oriented PHP
● Encapsulation
● Polymorphism
● Inheritance
● Multiple Inheritance: actually unsupported
Encapsulation
<?
$val4 = (($month+1)*3)/5;
class dayOfWeek {
$val5 = $year/4;
var $day,$month,$year;
$val6 = $year/100;
function dayOfWeek($day,$month,$year) {
$val7 = $year/400;
$this->day = $day; $val8 =
$day+($month*2)+$val4+$val3+$val5-$val6+$val7+
$this->month = $month; 2;
} $val0 = $val8-($val9*7);
return $val0;
function calculate(){
}
if ($this->month==1){
}
$monthTmp=13;
// Main
$yearTmp = $this->year - 1;
$instance =
}
new dayOfWeek($_GET[“day”],$_GET[“week”],$_GET[“
if ($this->month == 2){
month”]);
$monthTmp = 14;
print “You born on “.$instance->calculate().”\n”;
$yearTmp = $this->year - 1;
?>
}
Inheritance
Class reuseMe {
function
reuseMe(){...} Class extends reuseMe {
function doTask6(){...}
}
Polymorphism
A member function can override superclass
implementation. Allow each subclass to
reimplement a common interfaces.
class reuseMe {
function doTask3(){...}
}
Multiple Inheritance not actually supported by
PHP
Megha Kamble
CSE LNCTE
LNCTE/CSE/V/CS504/Unit 5