MODULE 1
Subtopic 1: Introduction to PHP
HISTORY
1994/1995 (PHP 1.0)
Developed by Rasmus Lerdorf
To know how many visitors were reading his online resume based on PERL/CGI script
Personal Home Page (PHP)
1997 (PHP 2.0)
PHP is based on C rather than PERL
Personal Home Page/Form Interpreter
1998 (PHP 3.0)
50,000 users were using PHP to enhance their Web pages
Developers joined Lerdorf
1999 (PHP 4.0)
With core developers Zeev Suraski and Andi Gutmans
PHP makes the most popular scripting language with morethan one million user base by
Netcraff.
Hundreds of functions being added
Dubbed the Zend scripting engine
May 22, 2000 (PHP 4.0)
PHP: Hypertext Preprocessor (recursive acronym)
3.6 million domain PHP installed
Enterprise development
- Improved resource handling (scalability)
- Object-oriented support (Classes and Objects)
- Native session-handling support (session)
- Encryption (encryption algoritms)
- ISAPI Support (for IIS)
- Native COM/DOM (Windows applications)
- Native Java Support: (binding to java objects)
- PERL Compatible Regular Expressions
New features, power, and scalabilty
PHP 5 (July 13, 2004)
Vastly improved object-oriented capabilities: OOP improvement
Try/catch exception handling
Improved XML and Web Services support (Simple XML Support, using SOAP)
Native support for SQLite
Installed on 19 million domains
54 percent on all Apache module
PHP 6 (2007 not yet released)
Unicode Support (Native Unicode support for multilingual applications
Security improvements
New language features and constructs (64-bit type integer, foreach looping)
PHP Key categories
Practicality
- PHP is a loosely type language (no explicitly create, typecast, or destroy a variable)
Power
- More libraries and thousands of functions.
Possibility
- Native support is offered for more than 25 database products, including Adabas D,
dBase, Empress, FilePro, FrontBase, Hyperwave, IBM DB2, Informix, Ingres, InterBase,
mSQL, Microsoft SQL Server, MySQL, Oracle, Ovrimos, PostgreSQL, Solid, Sybase, Unix
dbm, and Velocis.
- Both structured and Object Oriented approach
Price
- Free of charge
WEB ARCHITECTURE
SOFTWARE REQUIREMENTS OPERATING SYSTEM: Linux
Ubuntu
Debian
Linux Mandrake
Suse
Fedora
Centos
Kubuntu
SOFTWARE REQUIREMENTS OPERATING SYSTEM: Windows
Microsoft Windows XP
Microsoft Windows Me
Microsoft Windows
Windows Server 2008
Windows 8
Windows 7
Microsoft Windows 2000
SOFTWARE REQUIREMENTS OPERATING SYSTEM: Mac
Mac OS X’s
Cheetah
Puma
Jaguar
Leopard
Snow leopard
Panther
Tiger
Lion
SOFTWARE REQUIREMENTS INTERNET BROWSER
Google Chrome
Mozilla Firefox
Internet Explorer
Opera
Safari
Mexthon
Rockmelt
SeaMonkey
Deepnet Explorer
Avant Browser
SOFTWARE REQUIREMENTS WEB SERVER
Apache
IIS7 (internet information services)
NGiNX
Google Web Server (GWS)
SOFTWARE REQUIREMENTS SERVER SIDE SCRIPTING LANGUAGE
Java (JavaServer Pages: JSP)
Ruby (Ruby on Rails)
Active Server Pages (ASP)
Python (Django)
PERL CGI
PHP
SOFTWARE REQUIREMENTS DATABASE
IBM DB2
MySQL
Microsoft SQL Server
SQLite
PostgreSQL
ORACLE
SOFTWARE REQUIREMENTS CODE EDITOR
Aptana
Eclipse
Bluefish
Dreamweaver
NetBeans
Notepad++
SOFTWARE REQUIREMENTS OTHER
HTML
JavaScript
AJAX (Asynchronous Javascript and XML)
CSS
jQuery (write less, do more)
Operating System
Windows 7 / Windows 8
Web Server
Apache
Language Script
PHP XAMPP / WAMP
Database
MySQL
Code Editor
Notepad++ / Eclipse / Netbeans / Dreamweaver
Subtopic 2: PHP Environment
RUNNING PHP SCRIPTS XAMPP
Download XAMPP [Link]
Install XAMPP
Run XAMPP Control
c:\xampp (by default)
Start the Apache and MySQL(for database) Service
Create a folder under c:\xampp\htdocs\ (by default)
Note: All php files must be save on that folder
Test PHP script sample file.
Open some internet browser
Type localhost/[folder name] (by default)
Select file from the directory list (if there’s
RUNNING PHP SCRIPTS
Code:
<!— [Link]
<html>
<head>
<title>My PHP</title>
</head>
<body>
<?php
echo ‘Welcome to PHP’;
?>
</body>
</html>
Output:
All php scripts must enclosed with
<?php … ?> (standard tag)
<? … ?> (short open tag)
<script language=“php”> …. </script> (script tag)
<% … %> (asp style tag)
PHP parts
Opening tag for php script Statement terminator
<?php
echo ‘Welcome to PHP’;
?>
Closing tag for php script
echo – is a language construct that use to output one or more string.
print - is a function also use for outputting strings.
PHP Comments
<?php
// single line comment (C syntax)
# single line comment (PERL style)
/*
multiline
or block
comments
*/
?>
PHP Variables
Variables are used as a container for values that can be used and manipulate PHP scripts.
Variables in PHP must begin with a $ symbol.
Variable might contain a string, numbers, arrays and objects.
Setting the identifier for a variable must follow some rules.
First character can be ‘_’ or a letter.
It can only contain alpha-numeric characters and underscore (a-z,A-Z,0-9,_).
Don’t use white space in naming a variable.
Variables in PHP is not explicitly declared
Variables are case sensitive
Example
$age, $firstname, $totalSalary, $_myValue, $str1, $tmp01
USING ‘ ‘ (pair single quote), “ “ (pair double quotes) AND .(dot character) PHP
Strings inside the ‘ and ‘ are interpreted as literal strings
To display a ‘ character (single quote) as string use the escape character \ (backslash).
Strings inside the “ and “ are interpreted as literal strings with some exceptions
$ inside “ and “ are interpreted as variables thus it will display the value rather than the
string that starts with $.
To display the string that starts with $ and to display the double quote as string use the
escape character \ (backslash).
To concatenate string values use the . (dot or period) character thus “abc“.”def” yields to a value
“abcdef”
Example
<?php
$name = “Juan”;
echo “$name’s Store”.”<br/>”;
echo ‘ “name\’s Store” ‘.”<br/>;
//statements bellow will produced errors
//echo “displaying double quote” “;
//echo “displaying single quote ‘ “;
?>
Output
OUTPUTTING DATA
echo syntax
void echo(string argument1[,…string argumentN])
print syntax
int print(argument)
printf syntax
boolean printf(string format [, mixed args])
COMMONLY USED TYPE SPECIFIERS FOR PRINTF FUNCTION
TYPE DESCRIPTION
%b Argument consideration an integer; presented as binary number
%c Argument considered an integer; presented as a character corresponding to that ASCII
value
%d Argument considered an integer; presented as a signed decimal number
%f Argument considered a floating-point number; presented as a floating-point number
%o Argument considered an integer; presented as am octal number
%s Argument considered a string; presented as a string
%u Argument considered an integer; presented as an unsigned decimal number
%x Argument considered an integer; presented as a lowercase hexadecimal number
%X Argument considered an integer; presented as an uppercase hexadecimal number
PHP DATATYPES
Datatypes
- is the generic name assigned to any data sharing a common set of characteristics.
Scalar Datatypes
- Capable of containing a single item of information (Boolean, Integer, Float (float, double
or real numbers), String)
Example:
Compound Datatypes
- allow for multiple items of the same type to be aggregated under a single representative
entity. (Array and Objects)
Example:
PHP TYPE CASTING OPERATORS
CAST OPERATORS CONVERSION
(array) Array
(bool) or (boolean) Boolean
(int) or (integer) Integer
(int64) 64-bit integer (introduced in PHP 6)
(object) Object
(real) or (double) or (float) Float
(string) String
PHP Type Casting Operators
Example:
PHP Type Juggling
Example:
PREDEFINED TYPE FUNCTIONS
gettype() function
- returns the type of the variable. Possible return values are integer, double, boolean,
string, array, object, resource, unknown types.
- prototype:
- string gettype(mixed var)
settype() function
- converts a given variable to a specific type.
- prototype:
- boolean settype(mixed var, string type)
PREDEFINED TYPE IDENTIFIER FUNCTIONS
is_array(), is_bool(), is_float(), is_integer(), is_null(), is_numeric(), is_object(), is_resource(),
is_scalar(), and is_string()
TYPE FUNCTIONS
Example:
SUMMARY
Subtopic 1;
PHP was developed originally by Rasmus Lerdorf
Seev Suraski and Andi Gutsman were the one who contribute most in PHP development.
PHP key categories are practicality, power, possibility, and price.
PHP is a embedded language that is commonly embedded on HTML
PHP is a server-side scripting language that runs its application on a Web server.
Much of the PHP syntax were derive from C programming Language
Subtopic 2;
You can integrate database easily in PHP.
Standard PHP script are enclosed by tags.
Each statement in PHP must be terminated with a semi-colon(;).
All variable in PHP must have a dollar ($) character before its identifier.
PHP variables are not explicitly declared.
You can use echo, print, or printf function for outputting strings to internet browser.
You can enclosed string using a pair of single quote or pair of double quote.
String inside a pair of single quote interpreted as literal except for the single quote itself.
String inside a pair of double quote interpreted as literal with some exception like using
dollar character.
To explicitly display the character on the internet browser use backslash (\) character like \$,
\’, \” and etc.
Datatypes in PHP can be categorized as scalar or compound datatypes.
You can explicitly change the type of a variable in PHP.
PHP support some predefined type function that can be used in manipulating type variables.
MODULE 2
Subtopic 1: PHP Operators
OPERATORS
- An operator is a symbol that specifies a particular action in an expression.
OPERATOR PRECEDENCE, ASSOCIATIVITY, AND PURPOSE
Operator Associativity Purpose
New NA Object Instantiation
() NA Expression subgrouping
[] Right Index enclosure
! ~ ++ - - Right Boolean NOT, bitwise NOT, increment, decrement
@ Right Error suppression
/*% Left Division, multiplication, modulus
+- . Left Addition, subtraction, concatenation
<< >> Left Shift left, shift right (bitwise)
< <= > >= NA Less than, less than or equal to, greater than, greater
than or equal to.
&^| Left Bitwise AND, bitwise XOR, bitwise OR
&& || Left Boolean AND, Boolean OR
?: Right Ternary operator
= += *= /= .= %= Right Assignment operators
&= |= ^= <<= >>=
AND XOR OR Left Boolean AND, Boolean XOR, Boolean OR
, Left Expression separation; example: $days =
array(1=>“Monday, 2=>”Tuesday”)
OPERATOR PROCEDURE
is a characteristic of operators that determines the order in which they evaluate the operands
surrounding them.
OPERATOR ASSOCIATIVITY
is a characteristic of an operator specifies how operations of the same precedence are evaluated
as they are executed.
ARITHMETIC OPERATOR
Example Label Outcome
$a + $b Addition Sum of $a and $b
$a - $b Subtraction Difference of $a and $b
$a * $b Multiplication Product of $a and $b
$a / $b Division Quotient of $a and $b
$a % $b Modulus Remainder of $a divided by $b
ASSIGNMENT OPERATOR
Example Label Outcome
$a = 5 Assignment $a equals 5
$a += 5 Addition-assignment $a equals $a plus 5
$a *= 5 Multiplication-assignment $a equals $a multiplied by 5
$a /= 5 Division-assignment $a equals $a divided by 5
$a .= 5 Concatenate-assignment $a equals $a concatenated with 5
INCREMENT AND DECREMENT OPERATOR
Example Label Outcome
++$a, $a++ Increment Increment $a by 1
- -$a, $a- - Decrement Decrement $a by 1
COMPARISON OPERATOR
Example Label Outcome
$a < $b Less than True if $a is less than $b
$a > $b Greater than True if $a is greater than $b
$a <= $b Less than or equal to True if $a is less than or equal to $b
$a >= $b Greater than or equal to True if $a is greater than or equal to $b
($a == 12) ? 5 : -1 Ternary If $a equals 12, return value is 5;
otherwise, return value is -1
LOGICAL OPERATOR
Example Label Outcome
$a && $b AND True if both $a and $b are true
$a AND $b AND True if both $a and $b are true
$a || $b OR True if either $a or $b is true
$a OR $b OR True if either $a or $b is true
!$a NOT True if $a is not true
NOT $a NOT True if $a is not true
$a XOR $b Exclusive OR True if only $a or only $b is true
EQUALITY OPERATOR
Example Label Outcome
$a == &b Is equal to True if $a and $b are equivalent
$a &= &b Is not equal to True if $a is not equal to $b
$a === &b Is identical to True if $a and $b are equivalent and $a and
$b have the same type
BITWISE OPERAATOR
Example Label Outcome
$a & $b AND And together each bit contained in $a and
$b
$a | $b OR Or together each bit contained in $a and
$b
$a ^ $b XOR Exclusive-or together each bit contained in
$a and $b
~ $b NOT Negative each bit in $b
$a << $b Shift left $a will receive the value of $b shifted left
two bits
$a >> $b Shift right $a will receive the value of $b shifted right
two bits
ESCAPE SEQUENCES
Sequence Description
\n Newline character
\r Carriage return
\t Horizontal tab
\\ Backslash
\$ Dollar sign
\” Double quote
\[0-7]{1,3} Octal notation
\x[0-9A-Fa-f]{1,2} Hexadecimal notation
Modulus - the modulo operation % returns the remainder or signed remainder of a division, after one
number is divided by another (called the modulus of the operation).
Incrementation - The process of increasing a numeric value by another value, a variable can be
incremented by one by adding a ++ at the end of the variable.
Decrement - The process of decreasing a numeric value by another value, a variable can be
decremented by one by adding a -- at the end of the variable.
Comparison operators - A comparison (or relational) operator is a mathematical symbol which is used to
compare two values. Comparison operators are used in conditions that compares one expression with
another. The result of a comparison can be TRUE, FALSE, or UNKNOWN (an operator that has one or two
NULL expressions returns UNKNOWN).
a < b – Less than, True if a is less than b
a > b - Greater than, True if a is greater than b
a <= b - Less than or Equal, True if a is less than or equal to b
a >= b - Greater than or Equal, True if a is greater than or equal to b
(a == 10) ? 5 : -3 - Ternary, If a is equals to 10 the value is 5; otherwise return -3;
Logical Operators - A logical operator is a symbol or word used to connect two or more expressions such
that the value of the compound expression produced depends only on that of the original expressions
and on the meaning of the operator. Common logical operators include AND, OR, and NOT.
a && b - AND, True if both a and b are true
a || b - OR, True if both a or b are true
!a - NOT, True if a is not true
Equality Operation - Equality is an essential concept when it comes in programming languages. After all,
much of what we do when writing code has to do with comparing values and then making decisions
based on the results of such comparisons.
a == b - Equal to, True if a and b are equivalent.
a != b - Not Equal to, True if a is not equal to b.
a === b - Identical to, True if a and b are equivalent and a and b have the same type.
List of escape sequences
\n - Creating a new line
\t - Generating a horizontal tab
\\ - Creating a backslash
\$ - Generating a dollar sign
\" - Creating a double quote
Subtopic 2: PHP Control Structures
CONDITIONAL STATEMENTS
if statement
syntax:
if(expression) { statement… }
else statement
syntax:
if(expression) { statement… } else { statement }
elseif statement
syntax:
if(expression) {statement… } elseif(expression) { statement… } else { statement… }
switch statement
syntax:
switch($category){
case opt1: statement… break;
case opt2: statement… break;
case opt3: statement… break;
…
default: statement…
}
LOOPING STATEMENT
while statement
syntax:
while(expression){ statement… }
do … while statement
syntax:
do{ statement… }while(expression);
for statement
syntax:
for(expr1;expr2;expr3) { statement… }
BREAK, CONTINUE, AND GOTO STATEMENT
Break
- break statement is placed within the code of a loop to cause the program to break out
of the loop statement.
Continue
- continue statement causes execution of the current loop iteration to end and
commence at the beginning of the next iteration.
Goto … label:
- goto statement is used to jump to other section of the program to support labels.
ALTERNATIVE ENCLOSURE SYNTAX
Involves replacing the opening bracket with a colon(:) and replacing the closing bracket with
endif;, endwhile;,endfor;, endswitch.
SUMMARY
Subtopic 1;
Simplifying expression needs to follow a general precedence set by PHP scripts.
An operator specifies a particular action in a given expression.
Available PHP operators are arithmetic, conditional, assignment, logical and bitwise operator.
Operator precedence characteristics determines the order in which they evaluate the operands
surrounding them.
Operator associativity characteristic specifies how operations of the same precedence are
evaluated as they are executed.
Post increment or decrement always execute the statement first before incrementing or
decrementing the value of a given variable.
Pre increment or decrement always increment or decrement its variable value before executing
the statement.
Escape sequence has its own special task in executing the string as an output
Subtopic 2;
Conditional statements are statement the will execute statement inside a block if a given
condition is true
Use compound expression to minimize the process of coding using nested if statement.
break statement caused the program to break if used.
continue statement end the current loop and continue to next iteration.
goto statement used to jump to other section of the program.
Alternative enclosure syntax is available for if, while, for, foreach, and switch control.