PHP Tech-Talk ()

Download Report

Transcript PHP Tech-Talk ()

Tech Talk: PHP
Pradeep Tallogu
Deepak Avanna
Sharath Madathil
Overview








What is PHP ?
Server-side scripting
Command line scripting
Client side GUI applications
Comparison with other similar technologies
Advantages
Disadvantages
Conclusion
Personal Home Page (PHP)







Development started in 1994, by Rasmus Lerdorf.
A project of the Apache Software Foundation
http://www.php.net
Open Source, free server-side HTML-embedded scripting
language
Cross-platform, suitable for today's heterogeneous network
environments
PHP's syntax resembles C and Perl and is easy to learn for
any programmer with C or Perl background
Simpler and faster to develop in (than C and Perl)
What is PHP?

PHP is mainly focused on server-side scripting, so
you can do anything any other CGI program can do,
such as collect form data, generate dynamic page
content, or send and receive cookies.
Where does PHP fit ?
server
Page
HTTP
Request
Internet or
Intranet
Web
Server
Added
function
ality
Web Browser
Web
page
Web
page
Server-side
“Dynamic pages”
Client-side
“Active pages”
JavaScript, VBScript,
Applet, ActiveX
CGI, SSI, Server
API, ASP, JSP, PHP,
COM/DCOM,
CORBA
can
Active and dynamic page technology
be used together – server-side program
generates customized active pages.
Server-side execution using PHP Script
Web-Client
HTML-Form
Call PHP
interpreter
Submit
Form Data
Web-Browser
WWW
Response
Reply
Web-Server
PHP
Script
Response
Putting it all together
Database
Server
Web-Client
Web-Server
HTML-Form
(+JavaScript)
Web-Browser
WWW
Response
Reply
Call PHP
interpreter
Submit
Data
PHP
Script
Response
DBMS
LAN
SQL
commands
Database
Output
What more…



Server-side scripting
Command-line scripting
Writing client side GUI applications
Command Line PHP

What is this good for:




Parsing files to put into a database
Ideal for scripts regularly executed using cron (on
*nix or Linux) or Task Scheduler (on Windows).
Anything you’d use a shell script or perl script to
do!
Variables of use:


$argc, $argv[]
$stdin, $stdout, $stderr
Client side GUI applications



PHP-GTK
Cross platform GUI applications
Screen-shot of GUI created by PHP-GTK
Code for the screenshot
<?php
// Add a GtkEntry class to our window
// Load the PHP-GTK extension
$entry = &new GtkEntry();
$extension = "php_gtk" . (strpos(PHP_OS, "WIN") >= 0 ? ".dll" :
".so");
$entry->set_text("Hello World");
dl($extension);
$box->pack_start($entry);
// Create a new window
// Add a GtkButton class to our window
$window = &new GtkWindow();
$button = &new GtkButton("Reverse Text");
$window->set_title("Test App");
$window->set_usize(300, 50);
$button->connect("clicked", "reverseText", $entry);
$window->set_position(GTK_WIN_POS_CENTER);
$box->pack_start($button);
$window->set_policy(false, false, false);
function reverseText($theButton, $theEntry)
// Set a callback function for the destroy signal
{
$window->connect("destroy", "killwin");
function killwin()
$text = strrev($theEntry->get_text());
{
$theEntry->set_text($text);
echo("Window Destroyed!\n");
}
gtk::main_quit();
// Show the window
}
// Add a GtkVBox class to our window
$window->show_all();
$box = &new GtkVBox();
// Start the main PHP-GTK listener loop
$window->add($box);
gtk::main();
?>
PHP vs. JSP




PHP is faster in execution time
A recent survey in ZDnet's eWeek online publication
found that PHP is as much as 3.5 times faster than
JSP
Faster in development time – flatter learning curve
PHP supports any 32-bit or better platform, whereas
JSP supports only platforms that have a Java virtual
machine available
PHP vs. ASP





PHP is faster
Superior Memory Management
Closer to C Style of Programming
Cross Platform Migration Strategy
Dynamic generation of UI is more flexible
Benchmark
The following is a benchmark, where a Select statement is executed 40
times on Microsoft SQL Server 7 using PHP's MSSQL7 extension,
PHP's ODBC extension and COM
PHP Querying MSSQL7
Seconds
(lower is
better)
Using MSSQL extension
01.88
Using ODBC extension
09.54
Using ODBC via
COM (ADO)
17.28
Using OLEDB via COM
6.19
Advantages of PHP








Light-weight
Cross-platform compatible
Procedural / Object Oriented programming
Supports wide range of Databases
Supports wide variety of outputs
Supports wide variety of protocols
Extremely useful text processing features
Open source
Disadvantages of PHP



Misperception on lack of Support.
Lack of IDE (Integrated Development
Environment)
PHP has no formal error handling
mechanisms.
Conclusion
References




www.php.net
www.webmonkey.com
www.phpworld.com
www.php.weblogs.com