Introduction to php development
This presentation is the property of its rightful owner.
Sponsored Links
1 / 65

Introduction to PHP development PowerPoint PPT Presentation


  • 85 Views
  • Uploaded on
  • Presentation posted in: General

Introduction to PHP development. Daniel Reeves Web Applications Developer ResNET UNC Chapel Hill. My Assumptions. Introductory class Skill Level Programming concepts Topics Covered Future Presentations Mind Numbing Materials. Outline. Introduction PHP Basics Programming and PHP

Download Presentation

Introduction to PHP development

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Introduction to php development

Introduction to PHP development

Daniel Reeves

Web Applications Developer

ResNET UNC Chapel Hill


My assumptions

My Assumptions

  • Introductory class

  • Skill Level

  • Programming concepts

  • Topics Covered

  • Future Presentations

  • Mind Numbing

  • Materials


Outline

Outline

  • Introduction

  • PHP Basics

  • Programming and PHP

  • PHP Topics

  • Questions


Introduction

Introduction


Questions for you

Questions for you


Materials

Materials

  • Location

    • http://webmasters.unc.edu/presentations/

    • ZIP file of all materials (ppt, handout, code)

  • Handout

    • Terms, tips, Google search strategies

  • PowerPoint

  • Video


To php or not to php the pros

To PHP or not to PHP? The Pros

  • Great Documentation

  • Allows coding to modern standards

  • Open Source

  • Global and Diverse Developer Community

  • Don’t have to reinvent the wheel

  • Total Programmer Control

  • Easy to deploy


To php or not to php the cons

To PHP or not to PHP? The Cons

  • Inconsistent function names

  • Only Basic scoping

  • Constantly Evolving

  • Total Programmer Control

  • Not most efficient language


Google it

Google it !!!!!

  • When in doubt, search!

  • Search before you build

  • Properly formed Searches on Google

    • Google’s autocomplete is

  • For PHP searches, start by typing “php”

    • Suggestions will start to show


Programming philosophy

Programming Philosophy

  • Architecture Analogy

    • Structure: Problem/Constraints/Solution

    • Materials

    • Tools (data structures)

  • 4 general uses:

    • automation, iteration/reuse, functionality, uniformity

  • Know Thy Enemy

  • Pure problem solving


Programming tips

Programming Tips

  • Process Sequentially

  • Save often, keep multiple versions

  • Test incrementally

  • Reuse code, copy and paste

  • Start small and build

  • Solving problems is a mental process

  • Walk away and come back


Php basics

PHP Basics


Client server

Client/Server

  • Client = User’s Browser

  • Server = Websites, Online files

  • PHP server only

  • Can only process when …

    • When a page is requested

    • After a user action has submitted the page


What can one do with php

What can one do with PHP?

  • Database Programming

  • File Read/Write

  • Form Processing

  • Form Validation

  • Ajax Interaction

  • PDF Creation

  • File Search and Archive

  • Interact with web APIs

  • Interact with MS Office

  • Image Processing and

  • Chart Creation

  • XML file Read/Write

  • Sending Email

  • Writing Code


Topics for today

Topics for Today

  • Basic PHP/HTML interaction

    • Creating HTML with PHP

  • PHP form validation and processing

    • Server request interaction

    • Input validation

  • Basic debugging and error trapping

    • Methods for finding and correcting errors


What you need

What you need

  • Server space where PHP is enabled

    • http://help.unc.edu/108

  • Editing program to write the code in

    • Notepad++ good, free editor for coding

  • HTML Browser for viewing created pages

    • Firefox is my preference

  • Second monitor – recommended


Programming php

Programming PHP


Writing clean code

Writing Clean Code

  • Writing Clean Code

    • Using tabs for code, white space, line breaks

    • Ex: which looks cleaner, easier to read?

      <?php echo “test”; $foo++; ?>

      OR

      <?php

      echo “test”;

      $foo++;

      ?>


Php file php tag

PHP file, <?php tag, & ‘;’

  • Files end in .php (ex: contact_form.php)

  • Server recognizes code within <?php tag

  • Requires ?> closing tag

  • When writing opening tag, write closing

  • Code not in PHP tags displays as HTML

  • End statements with ;


Example php tags

Example – php_tags

<?php

?>

testing


Errors and error messages

Errors and Error Messages

  • Empty Page

    • Difficult, frustrating when page is just blank

  • Turn on Errors

    • On Handout: ini_set('display_errors',1);

  • Shows warnings and errors

  • Dangerous for production code


Example php errors

Example – php_errors

<?php

ini_set('display_errors',1);

?>

testing


Php programming hello world

PHP Programming – Hello World

  • How do I know if PHP is turned on?

    • php_info();

  • “Hello World”

  • Echo statement

  • Single/Double quotes in PHP

    • echo “testing”; same as echo ‘testing’;

    • Use double quotes for variables


Example hello world

Example – Hello World

<?php

ini_set('display_errors',1);

php_info();

echo “Hello World”;

?>

testing


What are variables

What are Variables ?

  • Basic building block of programming

  • Stores information/data

  • 3 basic parts: name, type and value

  • Variables store different types of data

    • Numbers, Strings, Boolean (True/False)

  • PHP Initialization

  • PHP Types


Php variable syntax

PHP Variable Syntax

  • All variables start with “$”

  • Any combination of letters, numbers, “_”

  • Variable Type Examples

    • Ex: $customer = “Daniel Reeves”;

    • Ex: $cost = 1.25;

    • Ex: $is_administrator = true;

  • Will use $foo as default variable

    • $foo, $foo1, $foo2, etc.


Manipulating variables

Manipulating Variables

  • Set Variables

    • $foo = 1; $foo = “test”; $foo1 = $foo

  • Display Variables

    • echo $foo; echo “$foo”;

  • Change and Combine text

    • $foo = “testing”.“ is fun”;

    • $foo1 = “Foo’s Value is: $foo”;


And arrays

And Arrays?

  • Collections of variable values

  • Access various elements from index

  • Index number or keyword

    • 1st element starts at 0

  • Format: $array_name[‘index’]

  • Array elements same as variables

  • Mostly for form processing

    • $_GET, $_POST


Php array syntax

PHP Array Syntax

  • Create

    • $numbers = array(1,2,3,4,5);

    • $names = array(‘fn’=>”Bob”, ‘ln’=>”Smith”);

  • Numbers

    • 5 = $numbers[4];

  • Strings

    • “Bob” = $names[‘fn’];

    • “Bob” = $names[0];


  • Conditionals if then else

    Conditionals – If/Then/Else

    • Need to test truth values

    • If/ Else If/Else

    • Establish consequences based on test

    • Allows for options

    • Example: Contact form

      • Category for student major

      • When submitted, choice would be tested

      • Assign a different action per major


    Conditionals php syntax

    Conditionals – PHP Syntax

    • Syntax: if( testcondition ){ code }

    • Syntax for if, else:

      • if( testcondition ){ code }

      • else if( testcondition){ code }

      • else {code}

    • Test values with: <, <=, >, >=, !, ==, !=


    Php programming functions

    PHP Programming – Functions

    • Reuse

    • Separate code

    • Elements

      • Name, Parameters, Code, Return

    • Many system functions available

      • include(); php_info(); echo “”;

    • Ex: function strlen($foo);

      • Returns number of characters in string


    Review php basics

    Review – PHP Basics

    • <?php and ?> tags, required “;”

    • Turn on errors and error messages

    • Variables

      • Strings, Numbers, Boolean (T/F)

    • Arrays

    • Conditionals

    • Functions


    Php topics basic php and html

    PHP topics – basic PHP and HTML


    Adding dynamic content

    Adding Dynamic Content

    • Use variables

    • 2 Philosophies

    • 2 ways to display information

    • Echo

      • echo “First Name: $first_name”;

    • In HTML

      • First Name: <?= $first_name ?>


    Example hello world2

    Example – hello_world2

    <?php

    $first_name = “Bob”;

    $last_name = “Smith”;

    echo “<html><body>”;

    ?>

    <p>

    My Name is: <?= $first_name ?> <?= $last_name?>

    </p>

    </body></html>


    Creating html with php

    Creating HTML with PHP

    • HTML Break and new line

      • To write new line to document, use \n

      • To add new line to rendered HTML, use <br>

    • Build then display

    • HTML put just below php on page

      • Nice segregation of server, client sides

      • Much easier to comment and debug

    • Create JS with PHP too


    Display html uniformity

    Display HTML uniformity

    • Includes

      • Headers, footers, menus

    • Widths, heights

      • Easily keep for element sizes uniform

    • Naming conventions

      • Prefix for names or css classes

    • Other repeated code

      • Especially if it may ever change


    Review php and html

    Review – PHP and HTML

    • Adding dynamic content

    • Use Variables

    • Output to screen: echo, <?= ?>

    • Breaks <br> and New Lines \n

    • Display Uniformity

      • Includes, reuse, naming, cohesive form items


    Php topics php form processing and validation

    PHP topics – PHP form processing and validation


    Php and form submission

    PHP and form submission

    • Process of filling out a form

    • Where PHP gets access to form

    • GET and POST

    • PHP and request information

      • GET and POST arrays

      • $_GET[‘form element name’];

      • $_POST[‘form element name’];


    Getting data from your request

    Getting data from your request

    • Good first test: use GET

      • Can see parameters you are sending

      • Don’t need form

      • Print entire $_GET array: print_r($_GET);

    • Set items from GET to variables

      • Use same name as name you sent

    • Once variable, can process further


    Example get

    Example - get

    <?php

    print_r($_GET);

    if($_GET){

    $foo = $_GET['passed_value'];

    } else { $foo = "Empty"; }

    ?>

    Value is: <?= $foo ?>


    Example contact form

    EXAMPLE – contact_form

    <html><body>

    <form action=“contact_form.php” method=“get”>

    Input: <input type=“text” name=“passed_value” value=“<?= $foo ?>”>

    <input type=“submit” value=“Submit”>

    </form>

    </body></html>


    Validation options

    Validation Options

    • Cleaning user input discussed later

    • Multiple validations of data

    • Client = JavaScript, Server = PHP

      • JS can be turned off from client, PHP cannot

      • Test both ends, safer, better use experience

    • Validation proportional to importance

    • Separate from security


    Using php for validation

    Using PHP for validation

    • Test multiple issues for same value

    • Test with conditionals

    • Test for empty values

      • If($foo == “”) { do something }

    • Flags = Boolean variables (T/F)

    • Use variable to verify validation

      • Set to true

      • If any validation fails, set it to false


    Example contact form above form

    EXAMPLE – contact_form (above form)

    <?php

    if($_GET){

    $foo = $_GET[‘passed_value’];

    $form_passes = true;

    if($foo == “”){ $form_passes = false; }

    if(strlen($foo) < 5) {$form_passes = false; }

    if($form_passes){ finish processing }

    }

    ?>


    Redisplay and error notification

    Redisplay and Error notification

    • Good idea to redisplay form

      • Can redisplay all submitted information

    • Easy to find & read error messages

      • DIV at top of page, red and bold text

      • Tailored message for each issue

    • Interact with JS if helpful

    • PHP mark the fields in error


    Process for validation

    Process for Validation

    • User Submits page to server

    • Use PHP to get information

    • Test information

      • Not empty, length

    • Errors and Redisplay

      • Show messages

      • Mark errors


    Review php and forms

    Review – PHP and Forms

    • PHP gets form data at submission

    • $_GET, $_POST and variables

    • Validation

      • Conditionals

      • Functions

    • Error notification and Redisplay

      • Communicate clearly with user


    Php topics debugging errors

    PHP topics – Debugging Errors


    The fun of errors

    The fun of errors

    • Programming requires proper syntax

    • One error, entire page wont run

    • Bad code can crash servers (unlikely)

    • Example: Mariner 1 Rocket

    • Realistic Worries

      • Angering ITS Gods (Gogandoes not approve)

      • Loss, Compromise of data


    Common mistakes

    Common mistakes

    • Misspelling variable names

    • Leaving semicolon off

    • Not closing PHP tag

    • Quotes within quotes

    • Refresh page

    • Not saving work


    Commenting code

    Commenting Code

    • Comments

      • PHP does not run in comments

    • 2 Uses

      • Removing code from page

      • Document what the code does

    • 2 ways: // or /* … */

      • Single vs. Multi-line comments


    Example comments

    Example - comments

    <?php

    ini_set('display_errors',1);

    /* Broken Code */

    echo “broke“

    //Working Code

    echo “works";

    ?>

    testing


    Example comments1

    Example – comments

    <?php

    ini_set('display_errors',1);

    /* Broken Code

    echo “broke“ */

    //Working Code

    echo “works";

    ?>

    testing


    Die to the rescue

    die(); to the rescue

    • PHP system function

    • Will stop any PHP immediately

    • Process to find errors

      • Start with error message, may be simple

      • Put a die statement at top of page

      • Move down page section by section

      • When die no longer works, have found error

      • Error is in the last block of code you past


    Example die

    Example – die();

    <?php

    die(‘testing1’);

    ini_set('display_errors',1);

    echo "works";

    echo "broke"

    ?>

    testing


    Example die1

    Example – die();

    <?php

    ini_set('display_errors',1);

    die(‘testing1’);

    echo “works";

    echo “broke“

    ?>

    testing


    Example die2

    Example – die();

    <?php

    ini_set('display_errors',1);

    echo “works";

    die(‘testing1’);

    echo “broke“

    ?>

    testing


    Example die3

    Example – die();

    <?php

    ini_set('display_errors',1);

    echo “works";

    echo “broke“

    die(‘testing1’);

    ?>

    testing


    Review debugging php

    Review – Debugging PHP

    • Errors are fun 

    • Common Mistakes

    • Comment Code

    • Die function

    • Process for finding errors


    Final words on php

    Final words on PHP


    My take

    My take

    • PHP highly powerful, useful web tool

      • Can do everything I need efficiently

      • Unique properties great bonus

      • PHP my favorite by far

    • Use what you like

      • Make sure its open source if you can

      • Coding should be challenging but fun

    • Big picture, how programming can help


    Questions

    Questions?


  • Login