Phpwebdevelping
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Phpwebdevelping

on

  • 1,021 views

 

Statistics

Views

Total Views
1,021
Views on SlideShare
1,021
Embed Views
0

Actions

Likes
0
Downloads
11
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Phpwebdevelping Presentation Transcript

  • 1. Developing Web Applications with PHP
  • 2. 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.)‏
        • <script language=“PHP&quot;> // 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> ”);
  • 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
          • 25 // Integer
          • 3.14 // 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(&quot;foo&quot; => &quot;bar&quot;, 12 => true);
          • same as
            • $arr[“foo”] = “bar”;
            • $arr[12] = true;
  • 22. PHP Language Basics
    • Constants, Data Types and Variables
        • Arrays (cont.)‏
          • <?php $arr = array(&quot;somearray&quot; => array(6 => 5, 13 => 9, &quot;a&quot; => 42)); echo $arr[&quot;somearray&quot;][6]; // 5 echo $arr[&quot;somearray&quot;][13]; // 9 echo $arr[&quot;somearray&quot;][&quot;a&quot;]; // 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 == &quot;Linux&quot; ) { $ConfigPath = &quot;/var/www/conf&quot;; $DataPath = &quot;/var/www/data&quot;; }
  • 32. PHP on Linux and Windows
    • Code Portability
          • if( ereg(&quot;WIN&quot;, PHP_OS) ) { $ApachePath = “C:/Program Files/Apache Group/Apache”; $ConfigPath = ”$ApachePath/htdocs/conf&quot;; $DataPath = &quot;$ApachePath/htdocs/data&quot;; } $ConfigFile = &quot;$ConfigPath/paperwork.conf&quot;; $CountryList = &quot;$DataPath/countries.txt&quot;; $StateAbbrList = &quot;$DataPath/usstateabbrs.txt&quot;; $StateNameList = &quot;$DataPath/usstatenames.txt&quot;;
  • 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
        • 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
          • www.php.net
        • Community
          • www.phpbuilder.com: articles on PHP, discussion forums
          • www.phpresourceindex.com: over 1,000 PHP scripts
          • www.phpvolcano.com: PHP 5 information
        • Newsgroups
          • comp.lang.php
  • 39. Questions?
      • Any Questions
        • www.php.net
      • Community
        • www.phpbuilder.com: articles on PHP, discussion forums
      • Newsgroups
        • comp.lang.php