Introduction to PHP Maged Bouchahma University of Nizwa

Introduction to PHP Maged Bouchahma University of Nizwa B. Maged 1

Introduction to PHP • PHP Hypertext 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. B. Maged 2

WEB SERVER Introduction to PHP Gets Page <HTML> <? php PHP code ? > </HTML> HTTP Request (url) Server response CLIENT Hello Interprets the PHP code <HTML> <B>Hello</B> </HTML> Browser creates the web page B. Maged 3

Introduction to PHP 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. B. Maged 4

Introduction to 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++. B. Maged 5

Introduction to 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. B. Maged 6

Introduction to 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”); %> B. Maged 7

Introduction to 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. B. Maged 8

Introduction to 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. B. Maged 9

Introduction to PHP Variables (cont. ) • Rich set of functions for working with variable. – For e. g • gettype, settype, isset, unset, is_int, intval etc B. Maged 10

PHP Operators Introduction to PHP • 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; B. Maged 11

PHP Statements Introduction to PHP • 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; B. Maged 12

Introduction to 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 B. Maged 13

Introduction to PHP Functions • Function declaration in PHP function my_func(<parameters>) { //do something in the function } – for e. g. function say. Hello() { echo(“<B>hello amrish<B><BR>”); } B. Maged 14

Introduction to PHP 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); B. Maged 15

Introduction to PHP 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. B. Maged 16

Introduction to PHP 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. B. Maged 17

Introduction to PHP 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. B. Maged 18

Introduction to PHP 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”; } B. Maged 19

Introduction to PHP 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. B. Maged 20

Introduction to PHP 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. B. Maged 21

Classes (cont. ) Introduction to PHP • 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 } } ? > B. Maged 22

Introduction to PHP Richness • PHP comes with myriad of options i. e. supports several APIs and interfaces to other programming tools such as – Database connectivity. – LDAP – XML – Mail protocols such as IMAP, SMTP – Image functions etc…. B. Maged 23

Introduction to PHP Support for Regular Expressions • Not pretty things to look at and work with. – E. g. ^. +@. +\. . +$ • PHP takes over the headache from the programmers for explicitly coding for pattern matching. • Functions: – ereg() and eregi() – ereg_replace() & eregi_replace() – split() B. Maged 24

Introduction to PHP 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. B. Maged 25

Introduction to PHP 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 twodimensional 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 Post. Script files B. Maged 26

Introduction to PHP 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. B. Maged 27

Introduction to PHP-Database Connectivity • Supports APIs for accessing large number of databases. • ODBC is a standard API for accessing a database that has PHP support. B. Maged 28

Introduction to PHP-Database Connectivity • Some of Oracle 8. x functions. – – – OCILogon OCILogoff OCIParse OCIFetch; OCIFetch. Into; OCIFetch. Statement OCIExecute OCIFree. Statement B. Maged 29

Introduction to PHP LDAP Support in PHP • PHP provides LDAP API’s that allows the programmers to create LDAP clients; by providing transparent access to backend LDAP directory servers. – For e. g. • Web based e-mail client. • Telephone Directory. B. Maged 30

Introduction to PHP 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. B. Maged 31

Introduction to PHP References • Professional PHP programming – By Jesus Castagnetto, Chris Schollo et al • www. phpbuilder. com • www. php. net B. Maged 32

Introduction to PHP THANK YOU B. Maged 33
- Slides: 33