Developing Web Applications - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Developing Web Applications

Description:

PHP is a scripting language that allows you to create dynamic Web pages ... Adrian - 95, Matty - 93, Lance - 56, Stephen - 70, Craig - 65, Andy - 98 ... – PowerPoint PPT presentation

Number of Views:139
Avg rating:3.0/5.0
Slides: 34
Provided by: ralp69
Category:

less

Transcript and Presenter's Notes

Title: Developing Web Applications


1
Developing Web Applications Lecture 6
Introduction to PHP Dr. Ralph Moseley
2
Today
Introduction to PHP
  • PHP - Overview
  • Variables Scope
  • Output
  • Variable types Boolean Strings
  • String Functions Parsers
  • Screening User Input/Output
  • Maths functions
  • Control and flow

3
PHP
  • PHP is a scripting language that allows you to
    create dynamic Web pages
  • You can embed PHP scripting within normal html
    coding
  • PHP was designed primarily for the Web
  • PHP includes a comprehensive set of database
    access functions
  • High performance/ease of learning/low cost

4
Basics of PHP
  • PHP files end with .php
  • you may see .php3 .phtml .php4 as well
  • PHP code is contained within tags
  • lt?php ?gt or Short-open lt? ?gt
  • HTML script tags ltscript language"php"gt
    lt/scriptgt

5
Output
  • Most things in PHP execute silently
  • You need to explicitly ask PHP to generate output
  • Echo is not a function and cannot return a
    value
  • echo "ltpgtThis is a paragraph.lt/pgt"
  • Print is a function and returns a value
  • 1 success, 0 failure
  • print ("ltpgtThis is a paragraph too.lt/pgt")
  • Use echo or print statements and View Source for
    debugging your code

6
Variables
  • All variables begin with and can contain
    letters, digits and underscore (and no digit
    directly after the )
  • The value of a variable is the value of its most
    recent assignment
  • Dont need to declare variables
  • Variables have no intrinsic type other than the
    type of their current value
  • Can have variable variables variable
  • Like a pointer variable type best to avoid

7
Variables Scope
  • Scope refers to where within a script or program
    a variable has meaning or a value
  • Mostly script variables are available to you
    anywhere within your script.
  • Note that variables inside functions are local to
    that function and a function cannot access script
    variables outside the function even if they are
    in the same file.
  • The modifiers global and static allow function
    variables to be accessed outside the function or
    to hold their value between function calls
    respectively

8
Variable types
  • Strings
  • Numbers
  • Integers
  • doubles
  • Booleans
  • TRUE / FALSE
  • Arrays
  • Objects

9
Variable Examples
  • Integer
  • a 1234 decimal number
  • a -123 a negative number
  • a 0123 octal number (equivalent to 83
    decimal)
  • a 0x1A hexadecimal number (equivalent to 26
    decimal)
  • Floating Point Numbers
  • a 1.234 a 1.2e3 a 7E-10
  • Boolean
  • foo True // assign the value TRUE to foo
  • // is an operator which returns a boolean
  • if (action
    "show_version")
  • echo "The
    version is 1.23"
  • // this is not
    necessary
  • if (show_separators
    TRUE)
  • echo "lthrgt\n"
  • // because you can
    simply type this
  • if
    (show_separators)

10
Variable Examples cont.
  • Strings (single or double quoted)
  • echo 'this is a simple string'
  • echo 'You can also have embedded newlines in
    strings, like this way.'
  • echo 'Arnold once said "I\'ll be back"'
  • // output ... "I'll
    be back"
  • echo 'Are you sure you want to delete C\.?'
  • // output ...
    delete C\.?
  • Arrays
  • error_descriptionsE_ERROR "A fatal error has
    occured"
  • error_descriptionsE_WARNING "PHP issued a
    warning"
  • error_descriptionsE_NOTICE "This is just an
    informal notice"
  • the last example is in fact the same as writing
  • error_descriptions1 "A fatal error has
    occured"
  • error_descriptions2 "PHP issued a warning"
  • error_descriptions8 "This is just an
    informal notice"
  • (The first method is useful if E_ERROR is defined
    as a constant etc).

11
Constants and Globals
  • To define a constant
  • define(PI, 3.1416)
  • area PIradiusradius
  • Globals
  • Defined outside any function eg form variables
  • global var1, var2
  • function xyz()
  • localvarX var1

12
Arrays in PHP
  • An array in PHP is actually an ordered map which
    maps values to keys. An array can be thought of
    in many ways. Each of the concepts below can be
    implemented in a PHP array, so you can choose
    which ever of these ideas that you understand to
    conceptualise an array.
  • linearly indexed array
  • list (vector)
  • hashtable (which is an implementation
    of a map)
  • dictionary
  • collection
  • stack (LIFO)
  • queue (FIFO)
  • can easily simulate trees and linked
    lists with arrays of arrays

13
Numerically-indexed arrays (Vector array)
  • Say that we have a list of marks out of 100 in a
    subject 95, 93, 56, 70, 65, 98
  • array value 1 - 95
  • array value 2 - 93
  • array value 3 - 56
  • array value 4 - 70
  • array value 5 - 65
  • array value 6 - 98
  • marks array (95, 93, 56, 70, 65, 98)
    generates a numerically-indexed array
  • marks0 95
  • marks1 93
  • marks2 56
  • marks3 70
  • marks4 65
  • marks5 98

14
Numerically-indexed arrays (cont)
  • The following code also generates a
    numerically-indexed array, allocating the next
    index after the highest current index to the
    element.
  • marks 95
  • marks 93
  • marks0 is 95 and marks1 is 93.
  • Note that array indexes start at 0 by default.
  • You can skip indices by allocating a specific
    index to a value -
  • marks5 56
  • marks 70
  • will be allocate 70 to marks6.
  • marks5 is 56 and marks6 is 70.

15
Associative arrays
  • Say we have a list of marks out of 100 in a
    subject and we want to know who got what mark
  • Adrian - 95, Matty - 93, Lance - 56, Stephen -
    70, Craig - 65, Andy - 98
  • marks array ("Adrian"gt93, "Lance"gt56,
    "Stephen"gt70, "Craig"gt65, "Andy"gt98)
  • maps a value to a key
  • name is the key
  • mark is the value

16
List an associative array
  • list() in conjunction with each() assigns a key /
    value pair into the variables key and variable.
    The following code prints each key / value pair
    into a table. Note that value might itself be an
    array.
  • reset(marks) // go to the beginning of the
    array
  • echo "lttable border\"1\"gt"
  • while (list(key, value) each(marks))
  • echo "lttrgtlttdgtkeylt/tdgtlttdgtvaluelt/tdgtlt/trgt\n"
  • echo "lt/tablegtlthrgt"

17
List an associative array (cont)
  • each() actually returns a array for each array
    item which includes the key and value as well as
    the index 0 mapped to the key and the index 1
    mapped to the value. Reset() puts the index
    pointer back to 0. Hence if you are more
    comfortable with numeric indexes, you can do the
    following
  • reset(marks)
  • while (row each(marks))
  • echo "Mark for row0 is
    row1ltbr /gt"

18
Strings
  • Dot operator for concatenation (joining)
  • singly quoted read in and store literally
  • double quoted
  • certain sequences beginning with \ are replaced
    with special characters \n \t \r \ \" \\
  • Variable names are replaced with string
    representations of their values
  • Variable interpolation
  • No limit on string length

19
String Functions
  • boolean strcmp (str1, str2)
  • boolean strcasecmp (str1, str2)
  • boolean strstr (str1, str2)
  • boolean stristr (str1, str2)
  • int strlen(str)
  • string substr (str, start_pos, len)

20
String functions (cont)
  • string chop (str)
  • string ltrim (str)
  • string trim (str)
  • string str_replace (old_txt, new_txt, text)
  • string substr_replace (old_txt, new_txt, text)
  • strtolower(str)
  • strtoupper(str)
  • ucfirst(str)
  • ucwords(str)

21
Formatting User Input/Output
  • addslashes(str)
  • stripslashes(str)
  • escapeshellcmd(str)
  • strip_tags(str)
  • htmlspecialchars(str)
  • htmlentities(str)
  • nl2br(str)

22
Maths functions
  • - /
  • --
  • -
  • is set to (assignment)
  • is equivalent to eg a b Equal TRUE if
    a is equal to b.
  • is identical to eg a b Identical TRUE
    if a is equal to b, and they are of the same
    type. (PHP 4 only)
  • low_int floor (double)
  • high_int ceil (double)
  • nearest_int round (double)
  • (nearest even number if exactly .5)
  • positive abs (number)
  • min min (n1, n2 , nn)
  • max max (n1, n2 , nn)

23
Control and flow
  • if (expr1)
  • elseif (expr2)
  • else
  • while (cond)
  • do while (cond)
  • switch (var)
  • case a
  • case b
  • for (i 0 i lt expr i )
  • foreach (array_expr as value)
  • foreach (array_expr as keygtvalue)
  • break
  • continue

24
If.. Then.. else
  • if (a gt b) print "a is bigger than b"
  • if (a gt b)
  • print "a is
    bigger than b"
  • b a
  • if (a gt b)
  • print "a is
    bigger than b"
  • elseif (a b)
  • print "a is
    equal to b"
  • else
  • print "a is
    smaller than b"

25
While
  • / example 1 /
  • i 1
  • while (i lt 10)
  • print i /
    the printed value would be

  • i before the increment

  • (post-increment) /
  • / example 2 - alternative notation to using
    the braces - and endwhile/
  • i 1
  • while (i lt 10)
  • print i
  • i
  • endwhile

26
For loops
  • / example 1 similar to C syntax / for
    (i 1 i lt 10 i)
  • print i
  • / example 2 / for
    (i 1i)
  • if (i gt 10)
  • break
  • print i
  • / example 3 / i 1
  • for ()
  • if (i gt 10)
  • break
  • print i
  • i
  • / example 4 / for
    (i 1 i lt 10 print i, i)

27
Foreach
  • An easy way to iterate over arrays. There are two
    syntaxes the second is a minor but useful
    extension of the first
  • foreach(array_expression as value) statement
  • foreach(array_expression as key gt value)
    statement
  • The following are functionally identical
  • //example 1 //
  • reset (arr)
  • while (list(,
    value) each (arr))
  • echo "Value
    valueltbrgt\n"
  • //example 2 //
  • foreach (arr as
    value)
  • echo "Value
    valueltbrgt\n"

28
Foreach cont.
  • / foreach example 1 value only /
  • a array (1, 2, 3, 17)
  • foreach (a as v)
  • print "Current value of \a v.\n"
  • / foreach example 2 value (with key printed
    for illustration) /
  • a array (1, 2, 3, 17)
  • i 0 / for illustrative purposes only /
  • foreach(a as v)
  • print "\ai gt v.\n"
  • i
  • / foreach example 3 key and value /
  • a array ( "one" gt 1, "two" gt 2, "three" gt
    3, "seventeen" gt 17 )
  • foreach(a as k gt v)
  • print "\ak gt v.\n"

29
Break Continue
  • -break ends execution of the current for, foreach
    while, do..while or switch structure.
  • arr array ('one', 'two', 'three', 'four',
    'stop', 'five')
  • while (list (key, val) each (arr))
  • if (val 'stop')
  • break / You could also write 'break
    1' here. /
  • echo "valltbrgt\n"
  • / note list() is a multiple assignment
    function the key and value returned by each()
    are assigned to key and value. key is not used
    in this example.
  • -continue is used within looping structures to
    skip the rest of the current loop iteration and
    continue execution at the beginning of the next
    iteration.

30
Switch
  • if (i 0) print "i equals 0"
  • if (i 1) print "i equals 1"
  • if (i 2) print "i equals 2"
  • / this is equivalent /
  • switch (i)
  • case 0
  • print "i equals 0"
  • break
  • case 1
  • print "i
    equals 1"
  • break
  • case 2
  • print "i
    equals 2"
  • break

31
require() and include()
  • require() includes and evaluates a specific file.
  • require() and include() are identical in every
    way except how they handle failure. include()
    produces a Warning while require() results in a
    Fatal Error.
  • lt?php
  • require 'prepend.php'
  • require somefile
  • require ('somefile.txt')
  • ?gt
  • require_once() or include_once() should be used
    in cases where the same file might be included
    and evaluated more than once during a particular
    execution of a script, and you want to be sure
    that it is included exactly once to avoid
    problems with function redefinitions, variable
    value reassignments, etc.

32
What we covered today
  • Introduction To PHP
  • Variables, constants, arrays and strings
  • Control structures sequence, repetition and
    selection

33
Next More advanced PHP
Write a Comment
User Comments (0)
About PowerShow.com