SSyynnaappsseeiinnddiiaa RReevviieewwss 
DDeevveellooppiinngg WWeebb 
AApppplliiccaattiioonnss wwiitthh PPHHPP
AAggeennddaa 
– Introduction 
– PHP Language Basics 
– Built-in Functions 
– PHP on Linux and Windows 
– Tricks and Tips 
– PHP 5 
– Examples 
– Questions?
IInnttrroodduuccttiioonn 
• What is PHP? 
– PHP stands for "PHP Hypertext 
Preprocessor” 
– An embedded scripting language for HTML 
like ASP or JSP 
– A language that combines elements of 
Perl, C, and Java
IInnttrroodduuccttiioonn 
• History of PHP 
– Created by Rasmus Lerdorf in 1995 for 
tracking access to his resume 
– Originally a set of Perl scripts known as the 
“Personal Home Page” tools 
– Rewritten in C with database functionality 
– Added a forms interpreter and released as 
PHP/FI: includes Perl-like variables, and 
HTML embedded syntax
IInnttrroodduuccttiioonn 
• History of PHP (cont.) 
– Rewritten again in and released as version 
2.0 in November of 1997 
– Estimated user base in 1997 is several 
thousand users and 50,000 web sites 
served 
– Rewritten again in late 1997 by Andi 
Gutmans and Zeev Suraski 
– More functionality added, database 
support, protocols and APIs
IInnttrroodduuccttiioonn 
• History of PHP (cont.) 
– User base in 1998 estimated 10,000 users 
and 100,000 web sites installed 
– Version 3.0 was released in June 1998 as 
PHP 
– Estimated user base in tens of thousands 
and hundreds of thousands of web sites 
served
IInnttrroodduuccttiioonn 
• History of PHP (cont.) 
– Rewritten again in 1997 by Andi Gutmans 
and Zeev Suraski 
– More functionality added (OOP features), 
database support, protocols and APIs 
– PHP 3.0 is released in June 1998 with 
some OO capability 
– The core is rewritten in 1998 for improved 
performance of complex applications
IInnttrroodduuccttiioonn 
• History of PHP (cont.) 
– The core is rewritten in 1998 by Zeev and 
Andi and dubbed the “Zend Engine” 
– The engine is introduced in mid 1999 and 
is released with version 4.0 in May of 2000 
– The estimated user base is hundreds of 
thousands of developers and several 
million of web sites served
IInnttrroodduuccttiioonn 
• History of PHP (cont.) 
– Version 5.0 will include version 2.0 of the 
Zend Engine 
• New object model is more powerful and 
intuitive 
• Objects will no longer be passed by value; they 
now will be passed by reference 
• Increases performance and makes OOP more 
attractive
IInnttrroodduuccttiioonn 
• Netcraft Statistics 
– 11,869,645 Domains, 1,316,288 IP Addresses
IInnttrroodduuccttiioonn 
• Performance* 
– Zdnet Statistics 
• PHP pumped out about 47 pages/second 
• Microsoft ASP pumped out about 43 
pages/second 
• Allaire ColdFusion pumped out about 29 
pages/second 
• Sun Java JSP pumped out about 13 
pages/second
PPHHPP LLaanngguuaaggee BBaassiiccss 
• The Script Tags 
– All PHP code is contained in one of several 
script tags: 
• <? 
// Some code 
?> 
• <?php 
// Some code here 
?>
PPHHPP LLaanngguuaaggee BBaassiiccss 
• The Script Tags (cont.) 
• <script language=“PHP"> 
// Some code here 
</script> 
– ASP-style tags 
• Introduced in 3.0; may be removed in the future 
• <% 
// Some code here 
%>
PPHHPP LLaanngguuaaggee BBaassiiccss 
• The Script Tags (cont.) 
– “Echo” Tags 
– <table> 
<tr> 
<td>Name:</td><td><?= $name ?></td> 
</tr> 
<tr> 
<td>Address:</td><td><?= $address ?></td> 
</tr> 
</table>
PPHHPP LLaanngguuaaggee BBaassiiccss 
• Hello World!: An Example 
– Like Perl, there is more than one way to do 
it 
• <?php echo “Hello World!”; ?> 
• <?php 
$greeting = “Hello World!” 
printf(“%s”, $greeting); 
php?>
PPHHPP LLaanngguuaaggee BBaassiiccss 
• Hello World!: An Example (cont.) 
• <script language=“PHP”> 
$hello = “Hello”; 
$world = “World!”; 
print $hello . $world 
</script>
PPHHPP LLaanngguuaaggee BBaassiiccss 
• Constants, Data Types and 
Variables 
– Constants define a string or numeric value 
– Constants do not begin with a dollar sign 
– Examples: 
• define(“COMPANY”, “Acme Enterprises”); 
• define(“YELLOW”, “#FFFF00”); 
• define(“PI”, 3.14); 
• define(“NL”, “<br>n”);
PPHHPP LLaanngguuaaggee BBaassiiccss 
• Constants, Data Types and 
Variables 
– Using a constant 
• print(“Company name: “ . COMPANY . NL);
PPHHPP LLaanngguuaaggee BBaassiiccss 
• Constants, Data Types and 
Variables 
– Data types 
• Integers, doubles and strings 
– isValid = true; // Boolean 
– 25 // Integer 
– 3.14 // Double 
– ‘Four’ // String 
– “Total value” // Another string
PPHHPP LLaanngguuaaggee BBaassiiccss 
• Constants, Data Types and 
Variables 
– Data types 
• Strings and type conversion 
– $street = 123; 
– $street = $street . “ Main Street”; 
– $city = ‘Naperville’; 
$state = ‘IL’; 
– $address = $street; 
– $address = $address . NL . “$city, $state”; 
– $number = $address + 1; // $number equals 
124
PPHHPP LLaanngguuaaggee BBaassiiccss 
• Constants, Data Types and 
Variables 
– Data types 
• Arrays 
– Perl-like syntax 
• $arr = array("foo" => "bar", 12 => true); 
– same as 
• $arr[“foo”] = “bar”; 
• $arr[12] = true;
PPHHPP LLaanngguuaaggee BBaassiiccss 
• Constants, Data Types and 
Variables 
• Arrays (cont.) 
– <?php 
$arr = array("somearray" => array(6 => 5, 13 => 9, 
"a" => 42)); 
echo $arr["somearray"][6]; // 5 
echo $arr["somearray"][13]; // 9 
echo $arr["somearray"]["a"]; // 42 
?>
PPHHPP LLaanngguuaaggee BBaassiiccss 
• Constants, Data Types and 
Variables 
– Objects 
– Currently not much more advanced than than 
associative arrays Using constants 
– Before version 5.0, objects are passed by value 
• Slow 
• Functions can not easily change object variables
PPHHPP LLaanngguuaaggee BBaassiiccss 
• Constants, Data Types and 
Variables 
– Operators 
– Contains all of the operators like in C and Perl (even 
the ternary) 
– Statements 
– if, if/elseif 
– Switch/case 
– for, while, and do/while loops 
– Include and require statements for code reuse
BBuuiilltt--iinn FFuunnccttiioonnss 
• What comes In the box? 
– Array Manipulator Functions 
• sort, merge, push, pop, slice, splice, keys, 
count 
– CCVS: Interface to Red Hat’s credit system 
– COM functions: Interface to Windows COM 
objects 
– Date and Time Functions 
• getdate, mkdate, date, gettimeofday, localtime, 
strtotime, time
BBuuiilltt--iinn FFuunnccttiioonnss 
• What comes In the box? 
– Directory Functions 
• Platform independent 
– Error Handling Functions 
• Recover from warnings and errors 
– Filesystem Functions 
• Access flat files 
• Check directory, link, and file status information 
• Copy, delete, and rename files
BBuuiilltt--iinn FFuunnccttiioonnss 
• What comes In the box? 
– IMAP Functions 
• Manipulate mail boxes via the IMAP protocol 
– LDAP Functions 
• Works with most LDAP servers 
– Mail Functions 
• mail($recipient, $subject, $message)
BBuuiilltt--iinn FFuunnccttiioonnss 
• What comes In the box? 
– Database Functions 
• dba: dbm-style abstraction layer 
• dBase 
• Frontbase 
• Informix 
• Ingres II 
• Interbase 
• mSQL
BBuuiilltt--iinn FFuunnccttiioonnss 
• What comes In the box? 
– Database Functions (cont.) 
• MySQL 
• Oracle 
• PostgreSQL 
• SQL Server 
– MING 
• Macromedia Flash 
– PDF 
• Create/manipulate PDF files dynamically
BBuuiilltt--iinn FFuunnccttiioonnss 
• What comes In the box? 
– POSIX Functions 
• Manipulate process information 
– Regular Expression Functions 
• Uses POSIX regex 
– Semaphore and Socket Functions 
• Available only on Unix 
– Session Management Functions
PPHHPP oonn LLiinnuuxx aanndd 
WWiinnddoowwss 
• Code Portability 
– The obvious: don’t use Unix or Windows 
specific functions 
– Create a reusable module for file system 
differences, for example: 
– if( PHP_OS == "Linux" ) 
{ 
$ConfigPath = "/var/www/conf"; 
$DataPath = "/var/www/data"; 
}
PPHHPP oonn LLiinnuuxx aanndd 
WWiinnddoowwss 
• Code Portability 
– if( ereg("WIN", PHP_OS) ) 
{ 
$ApachePath = “C:/Program Files/Apache 
Group/Apache”; 
$ConfigPath = ”$ApachePath/htdocs/conf"; 
$DataPath = "$ApachePath/htdocs/data"; 
} 
$ConfigFile = "$ConfigPath/paperwork.conf"; 
$CountryList = "$DataPath/countries.txt"; 
$StateAbbrList = "$DataPath/usstateabbrs.txt"; 
$StateNameList = "$DataPath/usstatenames.txt";
TTrriicckkss aanndd TTiippss 
• Coding 
– Prototype your web pages first 
• Separate the design of the site from the coding 
– Turn repetitive code into functions 
• Makes for more maintainable and reusable 
code 
– Turn grunt code into functions 
• Database access, configuration file access
TTrriicckkss aanndd TTiippss 
• Debugging 
– Feature: PHP is not a strongly typed 
language 
• Variables can be created anywhere in your 
code 
– Undocumented Feature: PHP is not a 
strongly typed language 
• Typos in variable names will cause stuff to 
happen
TTrriicckkss aanndd TTiippss 
• Debugging 
– Use scripts to dump form and session 
variables 
• Write scripts to dump data to discover bad or 
missing data
TTrriicckkss aanndd TTiippss 
• Development Tools 
– Color coding editors 
• vim, Emacs, Visual SlickEdit 
– IDEs 
• Windows 
– Macromedia Dreamweaver 
– Allaire Homesite 
– Zend’s PHPEdit 
• Linux 
– ???
PPHHPP 55 
• Release Date 
– ??? 
• Features 
– Complete objects 
• Objects with constructors 
• Abstract classes 
• Private, protected and abstract functions 
• Private, protected and constant variables 
• Namespaces 
• Exception handling with try/catch blocks

Synapse india reviews on php website development

  • 1.
    SSyynnaappsseeiinnddiiaa RReevviieewwss DDeevveellooppiinnggWWeebb AApppplliiccaattiioonnss wwiitthh PPHHPP
  • 2.
    AAggeennddaa – Introduction – PHP Language Basics – Built-in Functions – PHP on Linux and Windows – Tricks and Tips – PHP 5 – Examples – Questions?
  • 3.
    IInnttrroodduuccttiioonn • Whatis PHP? – PHP stands for "PHP Hypertext Preprocessor” – An embedded scripting language for HTML like ASP or JSP – A language that combines elements of Perl, C, and Java
  • 4.
    IInnttrroodduuccttiioonn • Historyof PHP – Created by Rasmus Lerdorf in 1995 for tracking access to his resume – Originally a set of Perl scripts known as the “Personal Home Page” tools – Rewritten in C with database functionality – Added a forms interpreter and released as PHP/FI: includes Perl-like variables, and HTML embedded syntax
  • 5.
    IInnttrroodduuccttiioonn • Historyof PHP (cont.) – Rewritten again in and released as version 2.0 in November of 1997 – Estimated user base in 1997 is several thousand users and 50,000 web sites served – Rewritten again in late 1997 by Andi Gutmans and Zeev Suraski – More functionality added, database support, protocols and APIs
  • 6.
    IInnttrroodduuccttiioonn • Historyof PHP (cont.) – User base in 1998 estimated 10,000 users and 100,000 web sites installed – Version 3.0 was released in June 1998 as PHP – Estimated user base in tens of thousands and hundreds of thousands of web sites served
  • 7.
    IInnttrroodduuccttiioonn • Historyof PHP (cont.) – Rewritten again in 1997 by Andi Gutmans and Zeev Suraski – More functionality added (OOP features), database support, protocols and APIs – PHP 3.0 is released in June 1998 with some OO capability – The core is rewritten in 1998 for improved performance of complex applications
  • 8.
    IInnttrroodduuccttiioonn • Historyof PHP (cont.) – The core is rewritten in 1998 by Zeev and Andi and dubbed the “Zend Engine” – The engine is introduced in mid 1999 and is released with version 4.0 in May of 2000 – The estimated user base is hundreds of thousands of developers and several million of web sites served
  • 9.
    IInnttrroodduuccttiioonn • Historyof PHP (cont.) – Version 5.0 will include version 2.0 of the Zend Engine • New object model is more powerful and intuitive • Objects will no longer be passed by value; they now will be passed by reference • Increases performance and makes OOP more attractive
  • 10.
    IInnttrroodduuccttiioonn • NetcraftStatistics – 11,869,645 Domains, 1,316,288 IP Addresses
  • 11.
    IInnttrroodduuccttiioonn • Performance* – Zdnet Statistics • PHP pumped out about 47 pages/second • Microsoft ASP pumped out about 43 pages/second • Allaire ColdFusion pumped out about 29 pages/second • Sun Java JSP pumped out about 13 pages/second
  • 12.
    PPHHPP LLaanngguuaaggee BBaassiiccss • The Script Tags – All PHP code is contained in one of several script tags: • <? // Some code ?> • <?php // Some code here ?>
  • 13.
    PPHHPP LLaanngguuaaggee BBaassiiccss • The Script Tags (cont.) • <script language=“PHP"> // Some code here </script> – ASP-style tags • Introduced in 3.0; may be removed in the future • <% // Some code here %>
  • 14.
    PPHHPP LLaanngguuaaggee BBaassiiccss • The Script Tags (cont.) – “Echo” Tags – <table> <tr> <td>Name:</td><td><?= $name ?></td> </tr> <tr> <td>Address:</td><td><?= $address ?></td> </tr> </table>
  • 15.
    PPHHPP LLaanngguuaaggee BBaassiiccss • Hello World!: An Example – Like Perl, there is more than one way to do it • <?php echo “Hello World!”; ?> • <?php $greeting = “Hello World!” printf(“%s”, $greeting); php?>
  • 16.
    PPHHPP LLaanngguuaaggee BBaassiiccss • Hello World!: An Example (cont.) • <script language=“PHP”> $hello = “Hello”; $world = “World!”; print $hello . $world </script>
  • 17.
    PPHHPP LLaanngguuaaggee BBaassiiccss • Constants, Data Types and Variables – Constants define a string or numeric value – Constants do not begin with a dollar sign – Examples: • define(“COMPANY”, “Acme Enterprises”); • define(“YELLOW”, “#FFFF00”); • define(“PI”, 3.14); • define(“NL”, “<br>n”);
  • 18.
    PPHHPP LLaanngguuaaggee BBaassiiccss • Constants, Data Types and Variables – Using a constant • print(“Company name: “ . COMPANY . NL);
  • 19.
    PPHHPP LLaanngguuaaggee BBaassiiccss • Constants, Data Types and Variables – Data types • Integers, doubles and strings – isValid = true; // Boolean – 25 // Integer – 3.14 // Double – ‘Four’ // String – “Total value” // Another string
  • 20.
    PPHHPP LLaanngguuaaggee BBaassiiccss • Constants, Data Types and Variables – Data types • Strings and type conversion – $street = 123; – $street = $street . “ Main Street”; – $city = ‘Naperville’; $state = ‘IL’; – $address = $street; – $address = $address . NL . “$city, $state”; – $number = $address + 1; // $number equals 124
  • 21.
    PPHHPP LLaanngguuaaggee BBaassiiccss • Constants, Data Types and Variables – Data types • Arrays – Perl-like syntax • $arr = array("foo" => "bar", 12 => true); – same as • $arr[“foo”] = “bar”; • $arr[12] = true;
  • 22.
    PPHHPP LLaanngguuaaggee BBaassiiccss • Constants, Data Types and Variables • Arrays (cont.) – <?php $arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42)); echo $arr["somearray"][6]; // 5 echo $arr["somearray"][13]; // 9 echo $arr["somearray"]["a"]; // 42 ?>
  • 23.
    PPHHPP LLaanngguuaaggee BBaassiiccss • Constants, Data Types and Variables – Objects – Currently not much more advanced than than associative arrays Using constants – Before version 5.0, objects are passed by value • Slow • Functions can not easily change object variables
  • 24.
    PPHHPP LLaanngguuaaggee BBaassiiccss • Constants, Data Types and Variables – Operators – Contains all of the operators like in C and Perl (even the ternary) – Statements – if, if/elseif – Switch/case – for, while, and do/while loops – Include and require statements for code reuse
  • 25.
    BBuuiilltt--iinn FFuunnccttiioonnss •What comes In the box? – Array Manipulator Functions • sort, merge, push, pop, slice, splice, keys, count – CCVS: Interface to Red Hat’s credit system – COM functions: Interface to Windows COM objects – Date and Time Functions • getdate, mkdate, date, gettimeofday, localtime, strtotime, time
  • 26.
    BBuuiilltt--iinn FFuunnccttiioonnss •What comes In the box? – Directory Functions • Platform independent – Error Handling Functions • Recover from warnings and errors – Filesystem Functions • Access flat files • Check directory, link, and file status information • Copy, delete, and rename files
  • 27.
    BBuuiilltt--iinn FFuunnccttiioonnss •What comes In the box? – IMAP Functions • Manipulate mail boxes via the IMAP protocol – LDAP Functions • Works with most LDAP servers – Mail Functions • mail($recipient, $subject, $message)
  • 28.
    BBuuiilltt--iinn FFuunnccttiioonnss •What comes In the box? – Database Functions • dba: dbm-style abstraction layer • dBase • Frontbase • Informix • Ingres II • Interbase • mSQL
  • 29.
    BBuuiilltt--iinn FFuunnccttiioonnss •What comes In the box? – Database Functions (cont.) • MySQL • Oracle • PostgreSQL • SQL Server – MING • Macromedia Flash – PDF • Create/manipulate PDF files dynamically
  • 30.
    BBuuiilltt--iinn FFuunnccttiioonnss •What comes In the box? – POSIX Functions • Manipulate process information – Regular Expression Functions • Uses POSIX regex – Semaphore and Socket Functions • Available only on Unix – Session Management Functions
  • 31.
    PPHHPP oonn LLiinnuuxxaanndd WWiinnddoowwss • Code Portability – The obvious: don’t use Unix or Windows specific functions – Create a reusable module for file system differences, for example: – if( PHP_OS == "Linux" ) { $ConfigPath = "/var/www/conf"; $DataPath = "/var/www/data"; }
  • 32.
    PPHHPP oonn LLiinnuuxxaanndd WWiinnddoowwss • Code Portability – if( ereg("WIN", PHP_OS) ) { $ApachePath = “C:/Program Files/Apache Group/Apache”; $ConfigPath = ”$ApachePath/htdocs/conf"; $DataPath = "$ApachePath/htdocs/data"; } $ConfigFile = "$ConfigPath/paperwork.conf"; $CountryList = "$DataPath/countries.txt"; $StateAbbrList = "$DataPath/usstateabbrs.txt"; $StateNameList = "$DataPath/usstatenames.txt";
  • 33.
    TTrriicckkss aanndd TTiippss • Coding – Prototype your web pages first • Separate the design of the site from the coding – Turn repetitive code into functions • Makes for more maintainable and reusable code – Turn grunt code into functions • Database access, configuration file access
  • 34.
    TTrriicckkss aanndd TTiippss • Debugging – Feature: PHP is not a strongly typed language • Variables can be created anywhere in your code – Undocumented Feature: PHP is not a strongly typed language • Typos in variable names will cause stuff to happen
  • 35.
    TTrriicckkss aanndd TTiippss • Debugging – Use scripts to dump form and session variables • Write scripts to dump data to discover bad or missing data
  • 36.
    TTrriicckkss aanndd TTiippss • Development Tools – Color coding editors • vim, Emacs, Visual SlickEdit – IDEs • Windows – Macromedia Dreamweaver – Allaire Homesite – Zend’s PHPEdit • Linux – ???
  • 37.
    PPHHPP 55 •Release Date – ??? • Features – Complete objects • Objects with constructors • Abstract classes • Private, protected and abstract functions • Private, protected and constant variables • Namespaces • Exception handling with try/catch blocks