Presentation is loading. Please wait.

Presentation is loading. Please wait.

Developing Web Applications with PHP

Similar presentations


Presentation on theme: "Developing Web Applications with PHP"— Presentation transcript:

1 Developing Web Applications with PHP
* 07/16/96 Developing Web Applications with PHP RAD for the World Wide Web Jeff Jirsa *

2 Agenda Introduction PHP Language Basics Built-in Functions
* 07/16/96 Agenda Introduction PHP Language Basics Built-in Functions PHP on Linux and Windows Tricks and Tips PHP 5 Examples Questions? *

3 Introduction 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

4 Introduction 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

5 Introduction 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

6 Introduction 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

7 Introduction 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

8 Introduction 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

9 Introduction 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

10 Introduction Netcraft Statistics
11,869,645 Domains, 1,316,288 IP Addresses

11 Introduction 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 * From PHP HOWTO, July 2001

12 PHP Language Basics The Script Tags
All PHP code is contained in one of several script tags: <? // Some code ?> <?php // Some code here ?>

13 PHP Language Basics The Script Tags (cont.) ASP-style tags
<script language=“PHP"> // Some code here </script> ASP-style tags Introduced in 3.0; may be removed in the future <% // Some code here %>

14 PHP Language Basics 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 PHP Language Basics 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 PHP Language Basics Hello World!: An Example (cont.)
<script language=“PHP”> $hello = “Hello”; $world = “World!”; print $hello . $world </script>

17 PHP Language Basics 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 PHP Language Basics Constants, Data Types and Variables
Using a constant print(“Company name: “ . COMPANY . NL);

19 PHP Language Basics Constants, Data Types and Variables Data types
Integers, doubles and strings isValid = true; // Boolean // Integer // Double ‘Four’ // String “Total value” // Another string

20 PHP Language Basics 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 PHP Language Basics 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 PHP Language Basics Constants, Data Types and Variables Arrays (cont.)
<?php $arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42)); echo $arr["somearray"][6]; // echo $arr["somearray"][13]; // echo $arr["somearray"]["a"]; // 42 ?>

23 PHP Language Basics 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 PHP Language Basics 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 Built-in Functions 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 Built-in Functions 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 Built-in Functions 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 Built-in Functions What comes In the box? Database Functions
dba: dbm-style abstraction layer dBase Frontbase Informix Ingres II Interbase mSQL

29 Built-in Functions What comes In the box? Database Functions (cont.)
MySQL Oracle PostgreSQL SQL Server MING Macromedia Flash PDF Create/manipulate PDF files dynamically

30 Built-in Functions 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 PHP on Linux and Windows
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 PHP on Linux and Windows
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 Tricks and Tips 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 Tricks and Tips 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 Tricks and Tips Debugging
Use scripts to dump form and session variables Write scripts to dump data to discover bad or missing data

36 Tricks and Tips Development Tools Color coding editors IDEs
vim, Emacs, Visual SlickEdit IDEs Windows Macromedia Dreamweaver Allaire Homesite Zend’s PHPEdit Linux ???

37 PHP 5 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

38 Resources PHP Downloads and Online Documentation Community Newsgroups
Community articles on PHP, discussion forums over 1,000 PHP scripts PHP 5 information Newsgroups comp.lang.php

39 Questions? Any Questions Community Newsgroups www.php.net
articles on PHP, discussion forums Newsgroups comp.lang.php


Download ppt "Developing Web Applications with PHP"

Similar presentations


Ads by Google