SlideShare a Scribd company logo
Diploma in Web Engineering
Module VI: Fundamentals of PHP
Rasan Samarasinghe
ESOFT Computer Studies (pvt) Ltd.
No 68/1, Main Street, Pallegama, Embilipitiya.
Contents
1. Introduction to PHP
2. What PHP Can Do?
3. PHP Environment Setup
4. What a PHP File is?
5. PHP Syntax
6. Comments in PHP
7. echo and print Statements
8. PHP Variables
9. PHP Data Types
10. Changing Type by settype()
11. Changing Type by Casting
12. PHP Constants
13. Arithmetic Operators
14. String Operators
15. Assignment Operators
16. Comparison Operators
17. Logical Operators
18. Operators Precedence
19. If Statement
20. If… Else Statement
21. If… Else if… Else Statement
22. Switch Statement
23. The ? Operator
24. While Loop
25. Do While Loop
26. For Loop
27. break Statement
28. continue Statement
29. Functions
30. User Defined Functions
31. Functions - Returning values
32. Default Argument Value
33. Arguments as Reference
34. Existence of Functions
35. Variable Local and Global Scope
36. The global Keyword
37. GLOBALS Array
38. Superglobals
39. Static Variables
Introduction to PHP
• PHP is a server-side scripting
language widely used for web
development.
• PHP is an acronym for "PHP
Hypertext Preprocessor“.
• Originally created by Rasmus Lerdorf
in 1994.
• PHP is open source and free to
download and use.
What PHP Can Do?
• PHP can generate dynamic page content.
• PHP can create, open, read, write, delete, and
close files on the server.
• PHP can collect form data.
• PHP can send and receive cookies.
• PHP can add, delete, modify data in your database.
• PHP can restrict users to access some pages on
your website.
• PHP can encrypt data.
PHP Environment Setup
Get a web host with PHP and MySQL support
Or
Install a web server on your own PC, and then
install PHP and MySQL
What a PHP File is?
• PHP files can contain HTML, CSS, JavaScript, and
PHP code.
• PHP files have extension ".php“
• PHP code are executed on the server, and the
result is returned to the browser as plain HTML.
PHP Syntax
<html>
<head><title>PHP Demo</title></head>
<body>
<?php
echo "Hello World!";
?>
</body>
</html>
index.php
Comments in PHP
// This is a single line comment
# This is also a single line comment
/*
This is a
multiple line
comment
*/
echo and print Statements
echo can output one or more strings
echo "Hello world!<br>";
echo "Hello”, “ world!”;
print can only output one string, and returns 1
print "Hello world!<br>";
PHP Variables
Variables are temporary memory locations storing
data
$science = 50;
$maths = 60;
$total = $science + $maths;
echo “Total is: $total”;
PHP Variables
• A variable starts with the $ sign
• A variable name must start with a letter or the
underscore character
• A variable name can only contain alpha-numeric
characters and underscores (A-z, 0-9, and _ )
• Variable names are case sensitive
PHP Data Types
• PHP is a Loosely Typed Language
• PHP automatically converts the variable to the
correct data type, depending on its value.
• It supports with String, Integer, Floating point,
Boolean, Array, Object and NULL data types.
PHP Data types
$pi = 3.14;
$week = 7;
$name = “Roshan Perera";
$city= ‘kandy’;
$valid = 10 > 5;
var_dump($pi);
var_dump($week);
var_dump($name);
var_dump($city);
var_dump($valid);
Changing Type by settype()
Syntax:
settype(mixed var, string type)
Ex:
$x = 3.14;
settype($x,"integer");
var_dump($x);
Changing Type by Casting
Syntax:
var = (datatype) var
Ex:
$x = 3.14;
$y = (integer)$x;
var_dump($y);
PHP Constants
Once they are defined they cannot be changed
define("GREETING", “Hello world!");
echo GREETING;
//Case insensitive constant
define("GREETING", “Hello world!", true);
echo greeting;
Arithmetic Operators
Operator Description Example
+ Addition A + B will give 30
- Subtraction A - B will give -10
* Multiplication A * B will give 200
/ Division B / A will give 2
% Modulus B % A will give 0
++ Increment B++ gives 21
-- Decrement B-- gives 19
A = 10, B = 20
String Operators
Operator Name Example
. Concatenation
$str1 = "Hello"
$str2 = $txt1 . " world!"
.=
Concatenation
assignment
$str1 = "Hello"
$str1 .= " world!"
Assignment Operators
Operator Example
= C = A + B will assign value of A + B into C
+= C += A is equivalent to C = C + A
-= C -= A is equivalent to C = C - A
*= C *= A is equivalent to C = C * A
/= C /= A is equivalent to C = C / A
%= C %= A is equivalent to C = C % A
Comparison Operators
Operator Name Example
== Equal (A == B) is false.
=== Identical (A == B) is false.
!= Not equal (A != B) is true.
<> Not equal (A <> B) is true
!== Not identical (A != B) is true.
> Greater than (A > B) is false.
< Less than (A < B) is true.
>= Greater than or equal (A >= B) is false.
<= Less than or equal (A <= B) is true.
A = 10, B = 20
Logical Operators
Operator Name Example
and And (A and B) is False
or Or (A or B) is True
&& And (A && B) is False
|| Or (A || B) is True
xor Exclusive Or (A xor B) is True
! Not !(A && B) is True
A = True, B = False
Operators Precedence
++, --
/, *, %
+, -
<, <=, >=, >
==, ===, !=
&&
||
=, +=, -=, /=, *=, %=, .=
and
xor
or
Priority
If Statement
if(Boolean_expression){
//Statements will execute if the
Boolean expression is true
}
Boolean
Expression
Statements
True
False
If… Else Statement
if(Boolean_expression){
//Executes when the Boolean expression
is true
}else{
//Executes when the Boolean
expression is false
}
Boolean
Expression
Statements
True
False
Statements
If… Else if… Else Statement
if(Boolean_expression 1){
//Executes when the Boolean expression 1 is true
}else if(Boolean_expression 2){
//Executes when the Boolean expression 2 is true
}else if(Boolean_expression 3){
//Executes when the Boolean expression 3 is true
}else {
//Executes when the none of the above condition is
true.
}
If… Else if… Else Statement
Boolean
expression 1
False
Statements
Boolean
expression 2
Boolean
expression 3
Statements
Statements
False
False
Statements
True
True
True
Switch Statement
switch (value) {
case constant:
//statements
break;
case constant:
//statements
break;
default:
//statements
}
The ? Operator
If condition is true ? Then Value one : Otherwise Value two
$h = 10;
$x = $h<12 ? "morning" : "afternoon";
echo $x;
While Loop
while(Boolean_expression){
//Statements
}
Boolean
Expression
Statements
True
False
Do While Loop
do{
//Statements
}while(Boolean_expression);
Boolean
Expression
Statements
True
False
For Loop
for(initialization; Boolean_expression; update){
//Statements
}
Boolean
Expression
Statements
True
False
Update
Initialization
break Statement
Boolean
Expression
Statements
True
False
break
continue Statement
Boolean
Expression
Statements
True
False
continue
Functions
A function is a block of statements which
performing a specific task that can be executed by a
call to the function.
Two Categories of Functions:
1. PHP Built-in Functions
2. User Defined Functions
User Defined Functions
function functionName(parameters…) {
//statements
}
functionName(arguments…); //calling function
Functions - Returning values
function functionName(parameters…) {
//statements
return value;
}
//calling function
$variableName = functionName(arguments…);
Functions – Default Argument Value
function functionName($parameter = value) {
//statements
}
functionName(argument); //calling function
functionName(); //calling function without argument
Functions – Arguments as Reference
function functionName(&$parameters…) {
//statements
}
functionName($arguments…); //calling function
Existence of Functions
function testFunction(){
//statements
}
$exist = function_exists("testFunction");
var_dump($exist);
Variable Local and Global Scope
$x = 10; // global scope
function testScope() {
$y = 20; // local scope
echo "Variable x: $x <br/>";
echo "Variable y: $y <br/>";
}
testScope();
echo "Variable x: $x <br/>";
echo "Variable y: $y <br/>";
The global Keyword
$x = 10; // global scope
function testScope() {
global $x;
$x = 20;
}
testScope();
echo "Variable x: $x <br/>";
GLOBALS Array
$x = 10; // global scope
function testScope() {
$GLOBALS['x'] = 20;
}
testScope();
echo "Variable x: $x <br/>";
Superglobals
Superglobals are built-in variables that are always available
in all scopes.
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
Static Variables
function testScope() {
static $x = 0;
$x++;
echo "$x<br/>";
}
testScope();
testScope();
testScope();
The End
http://twitter.com/rasansmn
Ad

More Related Content

What's hot (20)

DITEC - Programming with C#.NET
DITEC - Programming with C#.NETDITEC - Programming with C#.NET
DITEC - Programming with C#.NET
Rasan Samarasinghe
 
Javaz. Functional design in Java 8.
Javaz. Functional design in Java 8.Javaz. Functional design in Java 8.
Javaz. Functional design in Java 8.
Vadim Dubs
 
Clean code
Clean codeClean code
Clean code
Arturo Herrero
 
Qcon2011 functions rockpresentation_f_sharp
Qcon2011 functions rockpresentation_f_sharpQcon2011 functions rockpresentation_f_sharp
Qcon2011 functions rockpresentation_f_sharp
Michael Stal
 
Qcon2011 functions rockpresentation_scala
Qcon2011 functions rockpresentation_scalaQcon2011 functions rockpresentation_scala
Qcon2011 functions rockpresentation_scala
Michael Stal
 
C++ Programming Language
C++ Programming Language C++ Programming Language
C++ Programming Language
Mohamed Loey
 
Javascript
JavascriptJavascript
Javascript
guest03a6e6
 
Clean code and Code Smells
Clean code and Code SmellsClean code and Code Smells
Clean code and Code Smells
Mario Sangiorgio
 
Oop2010 Scala Presentation Stal
Oop2010 Scala Presentation StalOop2010 Scala Presentation Stal
Oop2010 Scala Presentation Stal
Michael Stal
 
Clean code slide
Clean code slideClean code slide
Clean code slide
Anh Huan Miu
 
Oop2011 actor presentation_stal
Oop2011 actor presentation_stalOop2011 actor presentation_stal
Oop2011 actor presentation_stal
Michael Stal
 
Introduction to web programming with JavaScript
Introduction to web programming with JavaScriptIntroduction to web programming with JavaScript
Introduction to web programming with JavaScript
T11 Sessions
 
Monadic Java
Monadic JavaMonadic Java
Monadic Java
Mario Fusco
 
Oops presentation
Oops presentationOops presentation
Oops presentation
sushamaGavarskar1
 
Clean coding-practices
Clean coding-practicesClean coding-practices
Clean coding-practices
John Ferguson Smart Limited
 
Clean code
Clean codeClean code
Clean code
Henrique Smoco
 
Clean code
Clean codeClean code
Clean code
ifnu bima
 
C Theory
C TheoryC Theory
C Theory
Shyam Khant
 
C# / Java Language Comparison
C# / Java Language ComparisonC# / Java Language Comparison
C# / Java Language Comparison
Robert Bachmann
 
clean code book summary - uncle bob - English version
clean code book summary - uncle bob - English versionclean code book summary - uncle bob - English version
clean code book summary - uncle bob - English version
saber tabatabaee
 
DITEC - Programming with C#.NET
DITEC - Programming with C#.NETDITEC - Programming with C#.NET
DITEC - Programming with C#.NET
Rasan Samarasinghe
 
Javaz. Functional design in Java 8.
Javaz. Functional design in Java 8.Javaz. Functional design in Java 8.
Javaz. Functional design in Java 8.
Vadim Dubs
 
Qcon2011 functions rockpresentation_f_sharp
Qcon2011 functions rockpresentation_f_sharpQcon2011 functions rockpresentation_f_sharp
Qcon2011 functions rockpresentation_f_sharp
Michael Stal
 
Qcon2011 functions rockpresentation_scala
Qcon2011 functions rockpresentation_scalaQcon2011 functions rockpresentation_scala
Qcon2011 functions rockpresentation_scala
Michael Stal
 
C++ Programming Language
C++ Programming Language C++ Programming Language
C++ Programming Language
Mohamed Loey
 
Clean code and Code Smells
Clean code and Code SmellsClean code and Code Smells
Clean code and Code Smells
Mario Sangiorgio
 
Oop2010 Scala Presentation Stal
Oop2010 Scala Presentation StalOop2010 Scala Presentation Stal
Oop2010 Scala Presentation Stal
Michael Stal
 
Oop2011 actor presentation_stal
Oop2011 actor presentation_stalOop2011 actor presentation_stal
Oop2011 actor presentation_stal
Michael Stal
 
Introduction to web programming with JavaScript
Introduction to web programming with JavaScriptIntroduction to web programming with JavaScript
Introduction to web programming with JavaScript
T11 Sessions
 
C# / Java Language Comparison
C# / Java Language ComparisonC# / Java Language Comparison
C# / Java Language Comparison
Robert Bachmann
 
clean code book summary - uncle bob - English version
clean code book summary - uncle bob - English versionclean code book summary - uncle bob - English version
clean code book summary - uncle bob - English version
saber tabatabaee
 

Viewers also liked (20)

DIWE - File handling with PHP
DIWE - File handling with PHPDIWE - File handling with PHP
DIWE - File handling with PHP
Rasan Samarasinghe
 
DIWE - Coding HTML for Basic Web Designing
DIWE - Coding HTML for Basic Web DesigningDIWE - Coding HTML for Basic Web Designing
DIWE - Coding HTML for Basic Web Designing
Rasan Samarasinghe
 
DIWE - Using Extensions and Image Manipulation
DIWE - Using Extensions and Image ManipulationDIWE - Using Extensions and Image Manipulation
DIWE - Using Extensions and Image Manipulation
Rasan Samarasinghe
 
DIWE - Working with MySQL Databases
DIWE - Working with MySQL DatabasesDIWE - Working with MySQL Databases
DIWE - Working with MySQL Databases
Rasan Samarasinghe
 
Ahmad sameer types of computer
Ahmad sameer types of computerAhmad sameer types of computer
Ahmad sameer types of computer
Sameer Nawab
 
Yaazli International Web Project Workshop
Yaazli International Web Project WorkshopYaazli International Web Project Workshop
Yaazli International Web Project Workshop
Arjun Sridhar U R
 
Yaazli International AngularJS 5 Training
Yaazli International AngularJS 5 TrainingYaazli International AngularJS 5 Training
Yaazli International AngularJS 5 Training
Arjun Sridhar U R
 
02basics
02basics02basics
02basics
Waheed Warraich
 
Java Exception handling
Java Exception handlingJava Exception handling
Java Exception handling
Garuda Trainings
 
Yaazli International Hibernate Training
Yaazli International Hibernate TrainingYaazli International Hibernate Training
Yaazli International Hibernate Training
Arjun Sridhar U R
 
Savr
SavrSavr
Savr
Shahar Barsheshet
 
Non ieee dot net projects list
Non  ieee dot net projects list Non  ieee dot net projects list
Non ieee dot net projects list
Mumbai Academisc
 
For Loops and Variables in Java
For Loops and Variables in JavaFor Loops and Variables in Java
For Loops and Variables in Java
Pokequesthero
 
09events
09events09events
09events
Waheed Warraich
 
Toolbarexample
ToolbarexampleToolbarexample
Toolbarexample
yugandhar vadlamudi
 
Core java online training
Core java online trainingCore java online training
Core java online training
Glory IT Technologies Pvt. Ltd.
 
Exception handling in java
Exception handling in java Exception handling in java
Exception handling in java
yugandhar vadlamudi
 
Yaazli International Spring Training
Yaazli International Spring Training Yaazli International Spring Training
Yaazli International Spring Training
Arjun Sridhar U R
 
Java quick reference v2
Java quick reference v2Java quick reference v2
Java quick reference v2
Christopher Akinlade
 
Singleton pattern
Singleton patternSingleton pattern
Singleton pattern
yugandhar vadlamudi
 
Ad

Similar to DIWE - Fundamentals of PHP (20)

Expressions and Operators.pptx
Expressions and Operators.pptxExpressions and Operators.pptx
Expressions and Operators.pptx
Japneet9
 
Free PHP Book Online | PHP Development in India
Free PHP Book Online | PHP Development in IndiaFree PHP Book Online | PHP Development in India
Free PHP Book Online | PHP Development in India
Deepak Rajput
 
Learn PHP Basics
Learn PHP Basics Learn PHP Basics
Learn PHP Basics
McSoftsis
 
PHP MATERIAL
PHP MATERIALPHP MATERIAL
PHP MATERIAL
zatax
 
Web Development Course: PHP lecture 1
Web Development Course: PHP lecture 1Web Development Course: PHP lecture 1
Web Development Course: PHP lecture 1
Gheyath M. Othman
 
What Is Php
What Is PhpWhat Is Php
What Is Php
AVC
 
Unit IV.pptx Server side scripting PHP IT3401
Unit IV.pptx Server side scripting PHP IT3401Unit IV.pptx Server side scripting PHP IT3401
Unit IV.pptx Server side scripting PHP IT3401
lakshitakumar291
 
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdfIT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
pkaviya
 
Introduction to php basics
Introduction to php   basicsIntroduction to php   basics
Introduction to php basics
baabtra.com - No. 1 supplier of quality freshers
 
P H P Part I, By Kian
P H P  Part  I,  By  KianP H P  Part  I,  By  Kian
P H P Part I, By Kian
phelios
 
Programming in PHP Course Material BCA 6th Semester
Programming in PHP Course Material BCA 6th SemesterProgramming in PHP Course Material BCA 6th Semester
Programming in PHP Course Material BCA 6th Semester
SanthiNivas
 
PHP Basics
PHP BasicsPHP Basics
PHP Basics
Muthuganesh S
 
Class 2 - Introduction to PHP
Class 2 - Introduction to PHPClass 2 - Introduction to PHP
Class 2 - Introduction to PHP
Ahmed Swilam
 
Introduction To Php For Wit2009
Introduction To Php For Wit2009Introduction To Php For Wit2009
Introduction To Php For Wit2009
cwarren
 
PHP-Part1
PHP-Part1PHP-Part1
PHP-Part1
Ahmed Saihood
 
JavaScript 1 for high school
JavaScript 1 for high schoolJavaScript 1 for high school
JavaScript 1 for high school
jekkilekki
 
Php and MySQL
Php and MySQLPhp and MySQL
Php and MySQL
Tiji Thomas
 
Php.ppt
Php.pptPhp.ppt
Php.ppt
Nidhi mishra
 
Advanced php
Advanced phpAdvanced php
Advanced php
Anne Lee
 
Php intro by sami kz
Php intro by sami kzPhp intro by sami kz
Php intro by sami kz
sami2244
 
Expressions and Operators.pptx
Expressions and Operators.pptxExpressions and Operators.pptx
Expressions and Operators.pptx
Japneet9
 
Free PHP Book Online | PHP Development in India
Free PHP Book Online | PHP Development in IndiaFree PHP Book Online | PHP Development in India
Free PHP Book Online | PHP Development in India
Deepak Rajput
 
Learn PHP Basics
Learn PHP Basics Learn PHP Basics
Learn PHP Basics
McSoftsis
 
PHP MATERIAL
PHP MATERIALPHP MATERIAL
PHP MATERIAL
zatax
 
Web Development Course: PHP lecture 1
Web Development Course: PHP lecture 1Web Development Course: PHP lecture 1
Web Development Course: PHP lecture 1
Gheyath M. Othman
 
What Is Php
What Is PhpWhat Is Php
What Is Php
AVC
 
Unit IV.pptx Server side scripting PHP IT3401
Unit IV.pptx Server side scripting PHP IT3401Unit IV.pptx Server side scripting PHP IT3401
Unit IV.pptx Server side scripting PHP IT3401
lakshitakumar291
 
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdfIT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
pkaviya
 
P H P Part I, By Kian
P H P  Part  I,  By  KianP H P  Part  I,  By  Kian
P H P Part I, By Kian
phelios
 
Programming in PHP Course Material BCA 6th Semester
Programming in PHP Course Material BCA 6th SemesterProgramming in PHP Course Material BCA 6th Semester
Programming in PHP Course Material BCA 6th Semester
SanthiNivas
 
Class 2 - Introduction to PHP
Class 2 - Introduction to PHPClass 2 - Introduction to PHP
Class 2 - Introduction to PHP
Ahmed Swilam
 
Introduction To Php For Wit2009
Introduction To Php For Wit2009Introduction To Php For Wit2009
Introduction To Php For Wit2009
cwarren
 
JavaScript 1 for high school
JavaScript 1 for high schoolJavaScript 1 for high school
JavaScript 1 for high school
jekkilekki
 
Advanced php
Advanced phpAdvanced php
Advanced php
Anne Lee
 
Php intro by sami kz
Php intro by sami kzPhp intro by sami kz
Php intro by sami kz
sami2244
 
Ad

More from Rasan Samarasinghe (17)

Managing the under performance in projects.pptx
Managing the under performance in projects.pptxManaging the under performance in projects.pptx
Managing the under performance in projects.pptx
Rasan Samarasinghe
 
Agile project management with scrum
Agile project management with scrumAgile project management with scrum
Agile project management with scrum
Rasan Samarasinghe
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
Rasan Samarasinghe
 
IT Introduction (en)
IT Introduction (en)IT Introduction (en)
IT Introduction (en)
Rasan Samarasinghe
 
Application of Unified Modelling Language
Application of Unified Modelling LanguageApplication of Unified Modelling Language
Application of Unified Modelling Language
Rasan Samarasinghe
 
Advanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST APIAdvanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST API
Rasan Samarasinghe
 
Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...
Rasan Samarasinghe
 
Advanced Web Development in PHP - Code Versioning and Branching with Git
Advanced Web Development in PHP - Code Versioning and Branching with GitAdvanced Web Development in PHP - Code Versioning and Branching with Git
Advanced Web Development in PHP - Code Versioning and Branching with Git
Rasan Samarasinghe
 
DIWE - Multimedia Technologies
DIWE - Multimedia TechnologiesDIWE - Multimedia Technologies
DIWE - Multimedia Technologies
Rasan Samarasinghe
 
DISE - Software Testing and Quality Management
DISE - Software Testing and Quality ManagementDISE - Software Testing and Quality Management
DISE - Software Testing and Quality Management
Rasan Samarasinghe
 
DISE - Introduction to Project Management
DISE - Introduction to Project ManagementDISE - Introduction to Project Management
DISE - Introduction to Project Management
Rasan Samarasinghe
 
DISE - Database Concepts
DISE - Database ConceptsDISE - Database Concepts
DISE - Database Concepts
Rasan Samarasinghe
 
DISE - OOAD Using UML
DISE - OOAD Using UMLDISE - OOAD Using UML
DISE - OOAD Using UML
Rasan Samarasinghe
 
DISE - Programming Concepts
DISE - Programming ConceptsDISE - Programming Concepts
DISE - Programming Concepts
Rasan Samarasinghe
 
DISE - Introduction to Software Engineering
DISE - Introduction to Software EngineeringDISE - Introduction to Software Engineering
DISE - Introduction to Software Engineering
Rasan Samarasinghe
 
DITEC - Expose yourself to Internet & E-mail (second update)
DITEC - Expose yourself to Internet & E-mail (second update) DITEC - Expose yourself to Internet & E-mail (second update)
DITEC - Expose yourself to Internet & E-mail (second update)
Rasan Samarasinghe
 
DITEC - E-Commerce & ASP.NET
DITEC - E-Commerce & ASP.NETDITEC - E-Commerce & ASP.NET
DITEC - E-Commerce & ASP.NET
Rasan Samarasinghe
 
Managing the under performance in projects.pptx
Managing the under performance in projects.pptxManaging the under performance in projects.pptx
Managing the under performance in projects.pptx
Rasan Samarasinghe
 
Agile project management with scrum
Agile project management with scrumAgile project management with scrum
Agile project management with scrum
Rasan Samarasinghe
 
Application of Unified Modelling Language
Application of Unified Modelling LanguageApplication of Unified Modelling Language
Application of Unified Modelling Language
Rasan Samarasinghe
 
Advanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST APIAdvanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST API
Rasan Samarasinghe
 
Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...
Rasan Samarasinghe
 
Advanced Web Development in PHP - Code Versioning and Branching with Git
Advanced Web Development in PHP - Code Versioning and Branching with GitAdvanced Web Development in PHP - Code Versioning and Branching with Git
Advanced Web Development in PHP - Code Versioning and Branching with Git
Rasan Samarasinghe
 
DIWE - Multimedia Technologies
DIWE - Multimedia TechnologiesDIWE - Multimedia Technologies
DIWE - Multimedia Technologies
Rasan Samarasinghe
 
DISE - Software Testing and Quality Management
DISE - Software Testing and Quality ManagementDISE - Software Testing and Quality Management
DISE - Software Testing and Quality Management
Rasan Samarasinghe
 
DISE - Introduction to Project Management
DISE - Introduction to Project ManagementDISE - Introduction to Project Management
DISE - Introduction to Project Management
Rasan Samarasinghe
 
DISE - Introduction to Software Engineering
DISE - Introduction to Software EngineeringDISE - Introduction to Software Engineering
DISE - Introduction to Software Engineering
Rasan Samarasinghe
 
DITEC - Expose yourself to Internet & E-mail (second update)
DITEC - Expose yourself to Internet & E-mail (second update) DITEC - Expose yourself to Internet & E-mail (second update)
DITEC - Expose yourself to Internet & E-mail (second update)
Rasan Samarasinghe
 

Recently uploaded (20)

introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Journal of Soft Computing in Civil Engineering
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Journal of Soft Computing in Civil Engineering
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Smart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineeringSmart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineering
rushikeshnavghare94
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Smart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineeringSmart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineering
rushikeshnavghare94
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 

DIWE - Fundamentals of PHP

  • 1. Diploma in Web Engineering Module VI: Fundamentals of PHP Rasan Samarasinghe ESOFT Computer Studies (pvt) Ltd. No 68/1, Main Street, Pallegama, Embilipitiya.
  • 2. Contents 1. Introduction to PHP 2. What PHP Can Do? 3. PHP Environment Setup 4. What a PHP File is? 5. PHP Syntax 6. Comments in PHP 7. echo and print Statements 8. PHP Variables 9. PHP Data Types 10. Changing Type by settype() 11. Changing Type by Casting 12. PHP Constants 13. Arithmetic Operators 14. String Operators 15. Assignment Operators 16. Comparison Operators 17. Logical Operators 18. Operators Precedence 19. If Statement 20. If… Else Statement 21. If… Else if… Else Statement 22. Switch Statement 23. The ? Operator 24. While Loop 25. Do While Loop 26. For Loop 27. break Statement 28. continue Statement 29. Functions 30. User Defined Functions 31. Functions - Returning values 32. Default Argument Value 33. Arguments as Reference 34. Existence of Functions 35. Variable Local and Global Scope 36. The global Keyword 37. GLOBALS Array 38. Superglobals 39. Static Variables
  • 3. Introduction to PHP • PHP is a server-side scripting language widely used for web development. • PHP is an acronym for "PHP Hypertext Preprocessor“. • Originally created by Rasmus Lerdorf in 1994. • PHP is open source and free to download and use.
  • 4. What PHP Can Do? • PHP can generate dynamic page content. • PHP can create, open, read, write, delete, and close files on the server. • PHP can collect form data. • PHP can send and receive cookies. • PHP can add, delete, modify data in your database. • PHP can restrict users to access some pages on your website. • PHP can encrypt data.
  • 5. PHP Environment Setup Get a web host with PHP and MySQL support Or Install a web server on your own PC, and then install PHP and MySQL
  • 6. What a PHP File is? • PHP files can contain HTML, CSS, JavaScript, and PHP code. • PHP files have extension ".php“ • PHP code are executed on the server, and the result is returned to the browser as plain HTML.
  • 8. Comments in PHP // This is a single line comment # This is also a single line comment /* This is a multiple line comment */
  • 9. echo and print Statements echo can output one or more strings echo "Hello world!<br>"; echo "Hello”, “ world!”; print can only output one string, and returns 1 print "Hello world!<br>";
  • 10. PHP Variables Variables are temporary memory locations storing data $science = 50; $maths = 60; $total = $science + $maths; echo “Total is: $total”;
  • 11. PHP Variables • A variable starts with the $ sign • A variable name must start with a letter or the underscore character • A variable name can only contain alpha-numeric characters and underscores (A-z, 0-9, and _ ) • Variable names are case sensitive
  • 12. PHP Data Types • PHP is a Loosely Typed Language • PHP automatically converts the variable to the correct data type, depending on its value. • It supports with String, Integer, Floating point, Boolean, Array, Object and NULL data types.
  • 13. PHP Data types $pi = 3.14; $week = 7; $name = “Roshan Perera"; $city= ‘kandy’; $valid = 10 > 5; var_dump($pi); var_dump($week); var_dump($name); var_dump($city); var_dump($valid);
  • 14. Changing Type by settype() Syntax: settype(mixed var, string type) Ex: $x = 3.14; settype($x,"integer"); var_dump($x);
  • 15. Changing Type by Casting Syntax: var = (datatype) var Ex: $x = 3.14; $y = (integer)$x; var_dump($y);
  • 16. PHP Constants Once they are defined they cannot be changed define("GREETING", “Hello world!"); echo GREETING; //Case insensitive constant define("GREETING", “Hello world!", true); echo greeting;
  • 17. Arithmetic Operators Operator Description Example + Addition A + B will give 30 - Subtraction A - B will give -10 * Multiplication A * B will give 200 / Division B / A will give 2 % Modulus B % A will give 0 ++ Increment B++ gives 21 -- Decrement B-- gives 19 A = 10, B = 20
  • 18. String Operators Operator Name Example . Concatenation $str1 = "Hello" $str2 = $txt1 . " world!" .= Concatenation assignment $str1 = "Hello" $str1 .= " world!"
  • 19. Assignment Operators Operator Example = C = A + B will assign value of A + B into C += C += A is equivalent to C = C + A -= C -= A is equivalent to C = C - A *= C *= A is equivalent to C = C * A /= C /= A is equivalent to C = C / A %= C %= A is equivalent to C = C % A
  • 20. Comparison Operators Operator Name Example == Equal (A == B) is false. === Identical (A == B) is false. != Not equal (A != B) is true. <> Not equal (A <> B) is true !== Not identical (A != B) is true. > Greater than (A > B) is false. < Less than (A < B) is true. >= Greater than or equal (A >= B) is false. <= Less than or equal (A <= B) is true. A = 10, B = 20
  • 21. Logical Operators Operator Name Example and And (A and B) is False or Or (A or B) is True && And (A && B) is False || Or (A || B) is True xor Exclusive Or (A xor B) is True ! Not !(A && B) is True A = True, B = False
  • 22. Operators Precedence ++, -- /, *, % +, - <, <=, >=, > ==, ===, != && || =, +=, -=, /=, *=, %=, .= and xor or Priority
  • 23. If Statement if(Boolean_expression){ //Statements will execute if the Boolean expression is true } Boolean Expression Statements True False
  • 24. If… Else Statement if(Boolean_expression){ //Executes when the Boolean expression is true }else{ //Executes when the Boolean expression is false } Boolean Expression Statements True False Statements
  • 25. If… Else if… Else Statement if(Boolean_expression 1){ //Executes when the Boolean expression 1 is true }else if(Boolean_expression 2){ //Executes when the Boolean expression 2 is true }else if(Boolean_expression 3){ //Executes when the Boolean expression 3 is true }else { //Executes when the none of the above condition is true. }
  • 26. If… Else if… Else Statement Boolean expression 1 False Statements Boolean expression 2 Boolean expression 3 Statements Statements False False Statements True True True
  • 27. Switch Statement switch (value) { case constant: //statements break; case constant: //statements break; default: //statements }
  • 28. The ? Operator If condition is true ? Then Value one : Otherwise Value two $h = 10; $x = $h<12 ? "morning" : "afternoon"; echo $x;
  • 31. For Loop for(initialization; Boolean_expression; update){ //Statements } Boolean Expression Statements True False Update Initialization
  • 34. Functions A function is a block of statements which performing a specific task that can be executed by a call to the function. Two Categories of Functions: 1. PHP Built-in Functions 2. User Defined Functions
  • 35. User Defined Functions function functionName(parameters…) { //statements } functionName(arguments…); //calling function
  • 36. Functions - Returning values function functionName(parameters…) { //statements return value; } //calling function $variableName = functionName(arguments…);
  • 37. Functions – Default Argument Value function functionName($parameter = value) { //statements } functionName(argument); //calling function functionName(); //calling function without argument
  • 38. Functions – Arguments as Reference function functionName(&$parameters…) { //statements } functionName($arguments…); //calling function
  • 39. Existence of Functions function testFunction(){ //statements } $exist = function_exists("testFunction"); var_dump($exist);
  • 40. Variable Local and Global Scope $x = 10; // global scope function testScope() { $y = 20; // local scope echo "Variable x: $x <br/>"; echo "Variable y: $y <br/>"; } testScope(); echo "Variable x: $x <br/>"; echo "Variable y: $y <br/>";
  • 41. The global Keyword $x = 10; // global scope function testScope() { global $x; $x = 20; } testScope(); echo "Variable x: $x <br/>";
  • 42. GLOBALS Array $x = 10; // global scope function testScope() { $GLOBALS['x'] = 20; } testScope(); echo "Variable x: $x <br/>";
  • 43. Superglobals Superglobals are built-in variables that are always available in all scopes. $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION
  • 44. Static Variables function testScope() { static $x = 0; $x++; echo "$x<br/>"; } testScope(); testScope(); testScope();

Editor's Notes

  • #6: xampp access from other LAN pcs Open httpd-xampp.conf file which is at /opt/lampp/etc/extra/ or in C:\xampp\apache\conf\extra modify the end # # New XAMPP security concept # <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">    <RequireAny>     Require ip ::1 127.0.0.0/8 \       fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \       fe80::/10 169.254.0.0/16    </RequireAny>    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </LocationMatch>
  • #36: PHP Default Argument Value <?php function setHeight($minheight=50) {   echo "The height is : $minheight <br>"; } setHeight(350); setHeight(); // will use the default value of 50 setHeight(135); setHeight(80); ?>