180 likes | 207 Views
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).
E N D
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.
server Addedfunctionality Server Web Where does PHP fit ? Page HTTP Request Internet or Web Intranet Web Browser Web page page Server-side“Dynamic pages” CGI, SSI, Server API, ASP, JSP, PHP, COM/DCOM, CORBA Client-side“Active pages” JavaScript, VBScript, Applet, ActiveX Active and dynamic page technology can be used together – server-side program generates customized active pages.
Server-side execution using PHP Script Web-Client Web-Server HTML-Form Call PHP interpreter WWW Submit Form Data Web-Browser PHP Script Response Response Reply
Putting it all together Web-Client Database Server Web-Server HTML-Form (+JavaScript) Call PHP interpreter WWW DBMS Submit Data LAN Web-Browser PHP Script SQL commands Response Response Database Output Reply
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 // Add a GtkEntry class to our window $entry = &new GtkEntry(); $entry->set_text("Hello World"); $box->pack_start($entry);// Add a GtkButton class to our window $button = &new GtkButton("Reverse Text"); $button->connect("clicked", "reverseText", $entry); $box->pack_start($button);function reverseText($theButton, $theEntry) { $text = strrev($theEntry->get_text()); $theEntry->set_text($text); }// Show the window $window->show_all();// Start the main PHP-GTK listener loop gtk::main();?> <?php// Load the PHP-GTK extension $extension = "php_gtk" . (strpos(PHP_OS, "WIN") >= 0 ? ".dll" : ".so"); dl($extension);// Create a new window $window = &new GtkWindow(); $window->set_title("Test App"); $window->set_usize(300, 50); $window->set_position(GTK_WIN_POS_CENTER); $window->set_policy(false, false, false);// Set a callback function for the destroy signal $window->connect("destroy", "killwin");function killwin() { echo("Window Destroyed!\n"); gtk::main_quit(); }// Add a GtkVBox class to our window $box = &new GtkVBox(); $window->add($box);
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
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.
References • www.php.net • www.webmonkey.com • www.phpworld.com • www.php.weblogs.com