350 likes | 584 Views
Introduction to PHP. MS. SADAF ABBASI abasy@qu.edu.sa. Introduction to PHP. PHP H ypertext P reprocessor. Other Names : Personal Home Page, Professional Home Page Is a server side scripting language. Capable of generating the HTML pages
E N D
Introduction to PHP MS. SADAF ABBASI abasy@qu.edu.sa SOFTWARE FREEDOM DAY
Introduction to PHP • PHPHypertext Preprocessor. • Other Names : Personal Home Page, Professional Home Page • Is a server side scripting language. • Capable of generating the HTML pages • HTML generates the web page with the static text and images. • However the need evolved for dynamic web based application, mostly involving database usage. SOFTWARE FREEDOM DAY
WEB SERVER Gets Page <HTML> <?php PHP code ?> </HTML> HTTP Request (url) Interprets the PHP code Server response <HTML> <B>Hello</B> </HTML> CLIENT Hello Browser creates the web page SOFTWARE FREEDOM DAY
Why PHP? • ..there are no. of server side scripting available like ASP, SSJS, JSP….. • PHP involves • simplicity in scripting (..generally using the database) • platform independence. • PHP is • primarily designed for web applications • well optimized for the response times needed for web applications • Is an open source. SOFTWARE FREEDOM DAY
PHP Language features • PHP language features such as control structures, operators, variable types, function declaration, class/object declaration are almost similar to any compiled or interpreted language such as C or C++. SOFTWARE FREEDOM DAY
Features of PHP It is Free and Open source. Easy to learn but hard to master. Connects with 20+ databases. Version 5+ supports OOP. Multi-platform compatible. SOFTWARE FREEDOM DAY
The WAMP/LAMP Stack Apache is the web server. MYSQL is the database server. PHP is the backend coding language. SOFTWARE FREEDOM DAY
IDEs for PHP development • IDE – Integrated Development Environment • Adobe Dreameweaver • Notepad++ • Dev-PHP • Zend Development Studio • PHP Eclipse SOFTWARE FREEDOM DAY
PHP Trend SOFTWARE FREEDOM DAY
PHP Data Type • Three basic data types • Integer • Double • String • More data types • Array • Object • PHP is an untyped language • variables type can change on the fly. SOFTWARE FREEDOM DAY
PHP Block • PHP code block is embedded within the <?php and ?> tags. • When the server encounters the PHP tags it switches from the HTML to PHP mode. • There are four different ways to embed the PHP code • <?php echo(“Some PHP code”); ?> • <? echo(“Some PHP code”); ?> • <SCRIPT Language=‘php’> echo(“Some PHP code”); </SCRIPT> • <% echo(“Some PHP code”); %> SOFTWARE FREEDOM DAY
PHP Constants • ..values that never changes • Constants are defined in PHP by using the define() function. • For e.g. define(“NCST”, “National Centre for Software Technology”) • defined() function says whether the constant exists or not. SOFTWARE FREEDOM DAY
PHP Variables • The variables in PHP are declared by appending the $ sign to the variable name. • For e.g $company = “NCST”; $sum = 10.0; • variable’s data type is changed by the value that is assigned to the variable. • Type casting allows to change the data type explicitly. SOFTWARE FREEDOM DAY
PHP Variables (cont.) • Rich set of functions for working with variable. • For e.g • gettype, settype, isset, unset, is_int, intval etc etc SOFTWARE FREEDOM DAY
PHP Operators • All the operators such as arithmetic, assignment, Comparison, and logical operators are similar to the operators in C and C++. • In PHP the string concatenation operator is denoted by ‘.’. • For e.g. • $name = “My name is”.$myname; SOFTWARE FREEDOM DAY
PHP Statements • IF statement if (<condition>) { //php code goes here } else { //php code goes here } • Alternative Syntax if(<condition>) : //html code goes here else : //html code goes here endif; SOFTWARE FREEDOM DAY
PHP Statements (cont.) • For loop for($i=0;$i < 10;$++i) { echo(“the value is :”. $i); } • Alternative Syntax for($i=0;$i < 10;$++i) : // html code goes here endfor; • While loop • Do-While loop SOFTWARE FREEDOM DAY
Functions • Function declaration in PHP function my_func(<parameters>) { //do something in the function } • for e.g. function sayHello() { echo(“<B>hello amrish<B><BR>”); } SOFTWARE FREEDOM DAY
Functions (cont.) • Assigning functions to the variables • for e.g • $hello = “my_func”; • to invoke the function my_func() through the variable $hello( ); • When an argument is to be passed by reference, an ampersand (&) is placed before the parameter name • for e.g. my_func(&$my_refvar); SOFTWARE FREEDOM DAY
Arrays • ..contains value set • each element has a value, data stored in the element. • And has a key by which the element can be referred to. SOFTWARE FREEDOM DAY
Initializing Arrays • No of ways to initialize the array. • For e.g. • $ncststaff[] = “amrish”; $ncststaff[] = “murali”; $ncststaff[] = “narayan”; • $ncststaff[123] = “amrish”; $ncststaff[122] = “murali”; $ncststaff[121] = “narayan”; • $ncststaff = array (“amrish”, “murali”, “narayan”); • to change the indices of the array use => operator. SOFTWARE FREEDOM DAY
Accessing the Array Elements • The elements in the array can be accessed by using the list and each constructs • for e.g while(list($key,$value) = each(countries)) echo(“$value<BR>\n”); • current(<arrayname>) gives the current value being accessed. key(<arrayname>) gives the index of the current element that is being accessed. • prev(<arrayname>) gives the previous element. • next(<arrayname>) gives the next element. SOFTWARE FREEDOM DAY
Accessing the Array Elements (cont.) • Array_walk(<arrayname>,<function_name>) • function_name is the function that is written for every member of an array. • For e.g $ncststaff = array (“amrish”, “murali”, “narayan”); array_walk ($ncststaff, printstaff); // function to print each element of the array function printstaff($names) { echo “<B>$names</B><BR>\n”; } SOFTWARE FREEDOM DAY
Arrays (cont.) • $ncststaff = array (“dake” => array(“amrish”, “lakshana”, “venkat”), “spc” => array(“narayan”, “murali”,“prasad”)); • creates a two dimensional array. • Sorting Functions • sort() : sorts the elements in the numeric and alphabetical order. • rsort() : sorts the elements in the reverse order. • asort() : sorts the elements in the array without changing the indices. • ksort() : sorts the arrays by key. SOFTWARE FREEDOM DAY
Classes • Class is a template of an object and includes the properties and methods that describe an object and behavior. • Class in PHP is defined using class statement. SOFTWARE FREEDOM DAY
Classes (cont.) • For e.g <? class company { // define the properties var $companyname; // define the methods function company($cname) { $this->companyname = $cname; } function getnames($idcode) { //return the name of the employee for the required idcode } } ?> SOFTWARE FREEDOM DAY
PHP Richness • PHP comes with myriad of options i.e. supports several APIs and interfaces to other programming tools such as • Database connectivity. • XML • Mail protocols such as IMAP, SMTP • Image functions etc…. SOFTWARE FREEDOM DAY
Image Generation & Manipulation • PHP offers powerful set of functions for generating and manipulating the images. • Rendering regular geometric figures, modifying images • manipulate text, font and color and even the pixels in the image. • ….creating the images on the fly. A. SOFTWARE FREEDOM DAY
Image Generation & Manipulation (cont.) • PHP uses the GD library for the most of the image functionality that it offers. • GD library is used for generating the two-dimensional graphics. • PHP API’s provides us with functions to: • Create, delete, resize and modify images. • Draw basic geometric figures • Manipulate text and fonts • Manipulate colors • Interlace and manipulate pixels • Handle PostScript files SOFTWARE FREEDOM DAY
Mailing functions • Sending E-Mails • Mail() • Used to send simple text messages. • Depends on the local mail delivery system. • Using SMTP • Accepts the e-mail for every recipient and goes through trouble of delivering the e-mails. • Receiving E-Mails • PHP works out well with the IMAP protocol. • Rich set of support functions • Imap_open, impa_delete, imap_close, imap_mail_copy, imap_mail_move etc. SOFTWARE FREEDOM DAY
PHP-Database Connectivity • Supports APIs for accessing large number of databases. • ODBC is a standard API for accessing a database that has PHP support. SOFTWARE FREEDOM DAY
PHP-Database Operations • Some of operations. • Insert Data • Delete Data • Search Data • Update Data SOFTWARE FREEDOM DAY
XML Support in PHP • PHP supports a set of functions that can be used for writing PHP-based XML applications. • These functions are used for parsing well formed XML document. SOFTWARE FREEDOM DAY
References • Professional PHP programming • By Jesus Castagnetto, Chris Schollo et al • www.phpbuilder.com • www.php.net SOFTWARE FREEDOM DAY
THANK YOU SOFTWARE FREEDOM DAY