PHP - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

PHP

Description:

PHP code is embedded into HTML code. interpreter is invoked by the web server ... implode(delim, array) creates a string from an array $menu = implode( ', ', $dinner) ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 35
Provided by: teres1
Learn more at: http://cs.boisestate.edu
Category:
Tags: php | implode

less

Transcript and Presenter's Notes

Title: PHP


1
PHP
  • Server-side Programming

2
PHP
  • PHP stands for PHP Hypertext Preprocessor
  • Originally Personal Home Page
  • PHP is interpreted
  • PHP code is embedded into HTML code
  • interpreter is invoked by the web server
  • Syntax is similar to C, Java, Perl etc.
  • Think of a cross between perl and C
  • PHP is open source, free, available for most
    platforms, popular

3
What can you do with PHP
  • Generate content as an HTML page is loaded
    (generate HTML code)
  • User sees only the generated code, not your PHP
    code
  • Respond to a form with dynamic content
  • Retrieve and display information from a database
    or server-side files

4
Where does the PHP code go?
  • PHP code goes into a special element type in your
    HTML files.
  • lt?php ?gt
  • You can have multiple php elements in a page
  • Code in the php element is sent to the php
    interpreter everything else is assumed to be
    content
  • File needs to have a .php or .phtml extension

5
HelloWorld in PHP
  • lthtmlgt
  • ltheadgt
  • lttitlegtPHPlt/titlegt
  • lt/headgt
  • ltbodygt
  • lt?php echo 'Hello, world!' ?gt
  • lt/bodygt
  • lt/htmlgt

6
Basics
  • Syntax is similar to C and perl
  • Comments
  • //
  • / /
  • Statements are terminated by semicolon
  • is compound statement, not a block
  • Whitespace insensitive
  • Reserved words, function names are
    case-insensitive

7
More Basics
  • Variable names (case-sensitive) same as for Java
    with a in front
  • can be assigned by value or by reference
  • Dynamically typed
  • For output use
  • echo
  • print
  • printf just like in C

8
Here Documents
  • Instead of using multiple print statements, use a
    here document
  • print ltltlt_HTML_
  • lthtmlgtltheadgt lt/headgt
  • ltbodygt lt/bodygtlt/htmlgt
  • _HTML_
  • Everything between the two _HTML_ is printed

9
Built-In Types
  • Primitive
  • boolean
  • integer
  • float
  • string
  • Compound
  • array (similar to hash in perl)
  • object - defined by a class
  • Special types
  • NULL
  • resource

10
Strings
  • Use either double or single quotes for strings
  • In single-quoted strings, all characters are
    interpreted literally
  • Variables and escape characters are interpreted
    in double-quoted strings
  • Strings can extend over multiple lines

11
String functions
  • trim removes leading and trailing whitespace
  • ltrim and chop remove from one end
  • strlen gives number of characters in the string
  • can be used to compare strings (case
    sensitive)
  • strcasecmp() compares strings ignoring case
    (semantics of C strcmp)
  • Use . for concatenation
  • get substrings using substr( string, start,
    length)

12
Numbers
  • PHP distinguishes between integer and floating
    point values
  • Usual set of arithmetic operations and assignment
    operators
  • integer division can give floating point result
  • coerces operands to integers
  • Usual set of mathematical functions
  • Other functions for things like formatting, type
    conversion,

13
Booleans
  • False values are 0, 0.0, "0", "", false, NULL,
    array with 0 elements, object with 0 member
    variables
  • everything else is true
  • Usual set of comparison operators
  • (lt lt ! gt gt)
  • work with strings
  • Usual set of logical operators (! ) plus and
    or xor

14
Type Conversions
  • Coercion (automatic type conversion) happens
    based on context. It happens in more ways than in
    Java.
  • integer -gt double
  • numeric, boolean -gt string
  • double -gt integer
  • numeric -gt boolean
  • string -gt numeric
  • Explicit type conversion
  • (int)sum
  • intval(sum)
  • settype(sum, "integer")

15
Control Statements
  • Selection
  • if ( cond)
  • elseif (cond2)
  • else
  • also switch
  • Loops
  • while (cond)
  • do
  • while( cond)
  • for (init cond update)
  • foreach()

16
Declaring Functions
  • function functionName(paramList)
  • / code goes here /
  • paramList is comma-separated list of param names
    with optional default values
  • parameters with default values need to be at the
    end of the list
  • use return to return a value
  • functions can be nested in PHP

17
Calling Functions
  • functionName( argList)
  • argList is comma-separated list of expressions
  • number of arguments needs to match the number of
    parameters unless default values have been
    assigned
  • if the last n parameters have default values, you
    can omit the last 1, 2, .. n arguments
  • you can't skip a position in the argument list

18
Variable scope
  • Variables defined outside of any function are
    global
  • Variables defined inside a function are local to
    the function (as are parameters)
  • To use global variables in a function
  • get them from GLOBALS, an array containing all
    global variables
  • x GLOBALS'varname'
  • use the global keyword to declare them to be
    global
  • global varname

19
Compound Types in PHP
  • PHP has two compound types
  • Arrays -arrays in PHP are really ordered maps
    (hash tables)
  • multi-dimensional arrays are arrays whose
    elements are arrays
  • Objects - variables whose type is defined by a
    class

20
Arrays
  • An array consists of a collection of elements
  • each element has a key and a value (like a hash
    table)
  • arrays with only numeric keys are a special case
  • you can use arrays with numeric keys the same way
    you do an array in C or Java

21
Creating an array
  • Create dynamically by assigning values to
    elements
  • veggie'corn' 'yellow'
  • dinner0 'Lemon Chicken'
  • Use the Array constructor
  • veggie array( 'corn' gt 'yellow', 'beet' gt
    'red', 'carrot' gt 'orange')

22
Creating a numeric array
  • Use array with just a list of values
  • keys will automatically be numbers (starting from
    0)
  • dinner ('Sweet Corn and Asparagus', 'Lemon
    Chicken', 'Spicy Eggplant')
  • Add new elements to end of list by assigning with
    no index
  • dinner 'Braised Bamboo fungus'

23
Using arrays
  • count(arrayName) gives the number of elements in
    the array
  • implode(delim, array) creates a string from an
    array
  • menu implode( ', ', dinner)
  • explode(delim, string) creates a numeric array
    from a string
  • dinner explode( ', ', menu)

24
Sorting arrays
  • The array elements will be rearranged by these
    methods
  • sort()/rsort() sort by element values
    (ascending/descending)
  • keys become numeric
  • asort()/arsort() sort by element value, keeping
    keys and values together
  • ksort()/krsort() sort by key, keeping keys and
    values together

25
Looping with arrays
  • Use foreach to loop through elements of array
  • foreach( meal as key gt value)
  • print "key value\n"
  • foreach( dinner as dish)
  • print "You can eat dish.\n"
  • foreach goes through elements in order they were
    added to array
  • not necessarily numeric order

26
Using arrays as lists and stacks
  • The functions current, next, prev, reset (which
    take an array parameter) allow you to use an
    array like a linked list.
  • list order is the order of insertion
  • array_push and array_pop allow you to use an
    array for a stack

27
Classes and Objects
  • PHP supports object-oriented programming
  • Class is a template describing both data and
    operations
  • Method is a function defined in a class
  • Property is a variable defined in a class
  • Constructor is used to create instances (objects)
  • Static method doesn't need an object

28
Sample Class definition
  • class Cart
  • var items // Items in our shopping cart
  • // Add num articles of artnr to the cart
  • function add_item(artnr, num)
  • this-gtitemsartnr num
  • // Take num articles of artnr out of the cart
  • function remove_item(artnr, num)
  • if (this-gtitemsartnr gt num)
  • this-gtitemsartnr - num
  • return true
  • elseif (this-gtitemsartnr num)
  • unset(this-gtitemsartnr)
  • return true
  • else return false

29
Constructors
  • Constructor is a method with the same name as the
    class
  • Use it to initialize properties
  • class Item
  • var catalogNum, price
  • function Item(id'none', cost'0.0')
  • catalogNumid
  • price cost

30
Using Objects
  • Use new to create objects
  • myItem new Item( 'AB234', 3.95)
  • Access methods and properties with -gt operator
  • charge myItem-gtprice

31
Regular Expressions
  • PHP has POSIX regular expressions built in
  • The PCRE module allows you to use Perl compatible
    regular expressions
  • preg_match takes a pattern and a string and
    returns true or false
  • preg_split takes a delimiter and a string and
    returns an array

32
Running Shell Commands
  • PHP provides the shell_exec() function for
    running an external program from the php program
  • filelist shell_exec( 'ls')
  • If you are passing form input on to another
    program, use escapeshellargs() to clean it up
    first

33
Extensions
  • The mycrypt extension to PHP provides a number of
    standard encryption algorithms
  • The Perl and Java extensions allow you to execute
    code written in those languages from your PHP
    program
  • PEAR is an extension that is useful for
    applications that use databases
  • more next time

34
Sources
  • Learning PHP 5 by David Sklar
  • Programming the World Wide Web by Robert Sebesta
  • Programming PHP by Rasmus Ledorf and Kevin Tatroe
  • PHP home page
  • http//www.php.net/
Write a Comment
User Comments (0)
About PowerShow.com