0% found this document useful (0 votes)
0 views

2 introduction to php

PHP is a server-side scripting language primarily used for web development, allowing the embedding of PHP code within HTML pages. It was created in 1994 and has evolved significantly, with widespread adoption across millions of websites. The document covers PHP's history, alternatives, key features, and fundamental programming concepts such as variables, strings, arrays, functions, and object-oriented programming.

Uploaded by

complex web
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
0 views

2 introduction to php

PHP is a server-side scripting language primarily used for web development, allowing the embedding of PHP code within HTML pages. It was created in 1994 and has evolved significantly, with widespread adoption across millions of websites. The document covers PHP's history, alternatives, key features, and fundamental programming concepts such as variables, strings, arrays, functions, and object-oriented programming.

Uploaded by

complex web
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 21

PHP Scripting language

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”
(“PHP and MySQL Web Development”, Luke Welling
and Laura Thomson, SAMS)
PHP History

1994: Created by Rasmis Lesdorf, software engineer (part
of Apache Team)

1995: Called Personal Home Page Tool, then released as
version 2 with name PHP/FI (Form Interpreter, to analyze
SQL queries)

Half 1997: used by 50,000 web sites

October 1998: used by 100,000 websites

End 1999: used by 1,000,000 websites
Alternatives to PHP

Practical extraction and Report Language (Perl)

Active Server Pages (ASP)

Java server pages (JSP)

Ruby
(Good) Topics about PHP

Open-source

Easy to use ( C-like and Perl-like syntax)

Stable and fast

Multiplatform

Many databases support

Many common built-in libraries

Pre-installed in Linux distributions
How PHP generates
HTML/JS Web pages
Client
Browser

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
</html> code 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

A single quoted strings is displayed “as-is”
$age = 37;
$stringTest = 'I am $age years old'; // output: I am $age years old
$stringTest = “I am $age years old”; // output: I am 37 years old

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

Arrays with PHP are associative
$books = array( “php manual”=>1,”perl manual”=>1,”C manual”=>1); // HASH
echo $books[“perl manual”]; output: 1
$books[“lisp manual”] = 1; // Add a new element
Arrays (II)

Working on an arrays
$books = array( ”php manual”,”perl manual”,”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

each and list
while ( list($value,$key) = each( $books ))
print “$value-st book of my library: $key”;
// list collect the two element retrieved by each and store them in two
different // variables
Arrays (III)

Multidimensional arrays
$books = array( array(“title”=>“php manual”,”editor”=>”X”,”author”=>”A”),
array(“title”=>“perl manual”,”editor”=>”Y”,”author”=>”B”),
array(“title=>“C manual”,”editor”=>”Z”,author=>”C”));

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;

Use list and each
for ($i=0; $i < count($books); $i++)
{
print “$i-st book is: “;
while ( list($key,$value) = each( $books[$i] ))
print “$key: $value ”;
print “<BR>”; // or “\n”
}
Functions in details (I)

The syntax to implement a user-defined


function is :
function function_name([parameters-list]opt)
{……implementation code……}
parameters-list is a sequence of variables separated by “,”


it’s not allowed to overload the name of an existing function;

Function names aren’t case-sensitive;

To each parameter can be assigned a default value;

arguments can be passed by value or by reference

It’s possible using a variable number of parameters


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+2;
$this->month = $month;
$val9 = $val8/7;
$this->year = $year;
$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

Allow the creation of a hierarchy of classes

Class reuseMe {

function
reuseMe(){...} Class extends reuseMe {

function function example(){


doTask1(){...} ... // local initializations
// call super constructor
function reuseMe::reuseMe();
doTask2(){...} }

function function doTask4(){...}


doTask3(){...}
} function doTask5(){...}

function doTask6(){...}
}
Polymorphism
A member function can override superclass
implementation. Allow each subclass to
reimplement a common interfaces.
class reuseMe {

function reuseMe() Class extends reuseMe {


{...}
function example(){
function doTask1() ... // local initializations
{...} // call super constructor
reuseMe::reuseMe();
function doTask2() }
{...}
function doTask4(){...}
function doTask3()
{...} function doTask5(){...}
}
function doTask6(){...}

function doTask3(){...}
}
Multiple Inheritance not actually supported by
PHP

class reuseMe1 { class reuseMe2 {


function reuseMe1(){...} function reuseMe2(){...}
function doTask1(){...} function doTask3(){...}
function doTask2(){...} function doTask4(){...}
function doTask3(){...} function doTask5(){...}
} }

class extends reuseMe1,reuseMe2 {...}


Bibliography
[1] “PHP and MySQL Web Development”, Luke Welling and Laura
Thomson, SA

You might also like