PHP Introduction
 

PHP is a scripting language and is designed primarily for producing dynamic web pages. It is in general embedded into a HTML page with tags like . When such a page is passed on to the PHP engine, the engine translates the PHP tags into HTML and which can then be rendered by a browser.

Packages like WAMP for windows, MAMP for mac and LAMP for Linux can be used for PHP and mySQL.

PHP Installation
The packages can be downloaded from WAMP.
WAMP stands for Windows Apache MySQL PHP. The instructions can be followed as given in the site and is pretty straightforward. The installation can be done is any directory (say D:/wamp). Once installed, it can be started from the program->start->WampServer.

This should give a small icon in the system tray using which the server can be started/stopped/restarted. It also gives links to all important files like php.ini and other configuration files.

PHP Round trip
Our primary target here is to write a small PHP page and get it rendered by the Apache web server.

Start up your text editor and create a page say first.php and save it in the WAMP_HOME/www/x folder,

Write the following in the script



Basic PHP Page


echo ("My first php snippet");
?>

Save this file and point your browser to http://localhost/x/first.php and you should be able to see the echo message.

Primary things to note here are

1. It is strongly advised to start any PHP code by "" tag.

2. To have a semicolon after each PHP statement.

3. The directory in which this script resides needs to be given in the URL.

PHP Variable declaration and Data types

For any programming we need to hold data. In PHP following are the ways in which you can define variables.

$variable_name = 0;

Note here we did not define what is the type of variable, whether integer or string that the variable should hold. This is referred to as dynamic scoping.

the variable names should start with an alphabet and can contain alphanumeric characters and "_"

Defining constants -
define ("NAME_OF_THE_CONSTANT" , $value);

Basic operators
The general operators are as below and explained.

a. + e.g. 6 + 3, addition operator, answer is 5
b. – e.g. 6 - 3, subtraction operator, answer is 3
c. / e.g. 6 / 3, division operator, answer is 2
d. * e.g. 6 * 3, multiplication operator, answer is 18
e. % e.g. 6 % 3, modulus operator, answer is 0
f. . e.g. '6'.'3', concatenation operator, gives string '63'
g. += e.g. $x += 6, adds 6
h. -= e.g. $x -= 6, subtracts 6
i. /= e.g. $x /= 6, divides by 6
j. %= e.g. $x %= 6, modulus by 6
k. .= e.g. $x .= '6', concats 6 to x
l. < e.g. $x < $y, evaluates to true if $x is < $y
m. > e.g. $x > $y, evaluates to true if $x is > $y
n. == e.g. $x == $y, evaluates to true if $x is equal by value to $y
o. != e.g. $x != $y, evaluates to true if $x is not equal to $y
p. === e.g. $x === $y, evaluates to true if $x is and $y is identical i.e both of same type both value and reference
q. >= e.g. $x >= $y, evaluates to true if $x is >= $y
r. <= e.g. $x <= $y, evaluates to true if $x is <= $y
s. && e.g. ($x == 2 && $y == 3) , evaluates to true if $x equals 2 and $y equals 3
t. || e.g. ($x == 2 || $y == 3) , evaluates to true if either $x equals 2 or $y equals 3
u. xor e.g. ($x == 2 xor $y == 3) , evaluates to true if either $x equals 2 or $y equals 3 but not both
v. ++ e.g. $x++, increments $x
w. –- e.g. $x--, decrements $x

Defining array Structures
Ways of declaring arrays
Suppose we want many variables, we could have done in the way declaring variables as above, however, that is not elegant, for suppose u want a 100 variables; declaring arrays come to the rescue. Note that index in PHP starts from 0.

$my_guitar_heroes = array ("Hendrix", "Schenker", "Gilmour", "to_name_a_few!");

Or
$my_guitar_heroes [] = "Hendrix";
$my_guitar_heroes [] = "Schenker";
$my_guitar_heroes [] = "Gilmour";
Here PHP automatically assigns the index.

Or
$my_guitar_heroes [0] = "Hendrix";
$my_guitar_heroes [10000] = "Mainak";
Here in I just knew the first element and the 10000th element and thats me!

Or
a combination of the above means

Or
$my_guitar_heroes = array_fill( 1, 9999, "to be decided" ); // set element 1 to 9999 as "to be decided"

'''Accessing the arrays'''
print $my_guitar_heroes[2]; //Access the 2nd element

Or
$my_guitar_heroes[count($my_guitar_heroes)-1]; //Access the last but one element

Or
end($my_guitar_heroes); //The last element.

'''Iterating over the element of an array'''
foreach ( $my_guitar_heroes as $temp) {
print "$temp
";
}

Control expressions
To execute a statement of collection of statements over and over, we use Control expressions. The following are general syntax of the control structures

if statements

if( $x > 0) {
print("$x is positive");
} else if( $x < 0 ) {
print("$x is negative");
} else {
print("$x is 0");
}
for loop

for ( $x=1; $x<= 10; $x++ ) {
print "$x
";
}
while loop

$x = 1
while ( $x <= 10 ) {
print "$x
";
}
do while loop

$x = 1;
do {
print "$x
";
$x++;
}while($x <= 10);

Defining functions
Code which is duplicated at many places are best placed in a function. Following are the ways of describing the function.

function name_of_the_function( $arguments, $size='default_values_if_any' ) {
print "here goes in the code";
return "this value is returned, return statement is optional";
}
The arguments are passed by value. If they are to be passed by reference then an argument is prefixed by "&" as below

function name_of_the_function( &$arguments, $size='default_values_if_any' ) {
print "here goes in the code";
return "this value is returned, return statement is optional";
}
Scope of a variables defined within a function is valid within the function only.

Calling a function

$x = add(5, 3);

Debugging
Basic printing options
A basic way to debug is to print the value of the variable. The following basic statments acheives that

echo "if double quotes are used then dollar variables are resolved";

echo 'if single quote are used then dollar variables are not resolved';

print "another way to print";

Handling forms
PHP does not change any HTML structure, thus any syntax of HTML remains the same. The part that PHP plays is making any part dynamic

$_GET - get the data from a GET request
$_POST - get the data from a POST request
$_REQUEST - get the request
$_COOKIE - obtain the cookies from the browser
$_SESSION - obtain the session

(c) Shilpa Sayura Foundation 2006-2017