DIG1108 Lesson 6
Upcoming SlideShare
Loading in...5
×
 

DIG1108 Lesson 6

on

  • 155 views

 

Statistics

Views

Total Views
155
Views on SlideShare
155
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

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

    DIG1108 Lesson 6 DIG1108 Lesson 6 Presentation Transcript

    • INTRO TO SERVER SIDE DEVELOPMENT Week Six Friday, October 4, 13
    • General Review Reference: php.net Literals: boolean integer float string array object Variables: $anything $any['array'] Expressions 1 + 1 == 2 $a = $b + 1 Control Structures conditional branches conditional loops: while, do-while for, foreach Workflow Diagrams: diamonds: decisions rectangles: process arrows: branches Version Control & Git Cloud9 IDE: cloning from Github sharing workspaces Friday, October 4, 13
    • Review - Arrays An array type is a data type that is meant to describe a collection of values or variables, each selected by one or more indices(keys) tha can be computed at run-time of the program. By default, the array type in PHP generates computed, numerical indices, starting with zero, to make a list: var_dump(array( 'one', 'two', 3, 4, 4.1, 4.2 )); $list = array(); $list[] = 'one'; $list[] = 'two'; The value for the key can also be specified as any scalar literal (neither array, object nor resource), often a string var_dump(array( 'one' => 1, 2 => 'two' )): $list[4] = 'four'; $list['five dot one'] = 5.1; Friday, October 4, 13
    • Control Flow Statements Control Flow - refers to the order in which the individual statements, instructions or function calls of an imperative or declarative program are executed or evaluated. Execution results in a choice being made as to which of two or more paths should be followed. Types of Control Flow statements: continuation at a different statement (unconditional branch or jump) execute statements only if some condition is met (conditional branch) execute statements until some conditional is met(loop, conditional branch) execute defined statements and return (sub/co-routines, continuations)s stop executing statements (unconditional halt) Friday, October 4, 13
    • Review - Loops A loop is a sequence of statements which is specified once but which may be carried out several times in succession, a specified number of times or indefinitely Specific number of times: for ( $count = 0; $count < $max; $count++ ) do_something(); Once per each item in a collection(array): foreach ( $collection as $item ) do_something(); foreach ($collection as $key => $value ) do_something(); Until some condition is met: while ( $condition == true ) do_something(); do something(); while ( $condition ); Indefinitely(infinitely): while ( true ) do_something(); do something(); while ( true); Friday, October 4, 13
    • Procedural Programming Procedural programming is based on specifying the steps the program must take to reach the desired state. Procedures, also known as routines, subroutines, methods or functions contain a series of computational steps to be carried out. Any given procedure might be called at any point during a program's execution. Types of Control Flow statements: continuation at a different statement (unconditional branch or jump) execute statements only if some condition is met (conditional branch) execute statements until some conditional is met(loop, conditional branch) execute defined statements and return (sub/co-routines, continuations)s stop executing statements (unconditional halt) Friday, October 4, 13
    • Declarations Unlike variables, functions must be "declared" to use do_something(); // "calling" an undefined function !! Fatal Error: function do_something is not defined The keyword function declares a function function do_nothing() { } do_nothing(); // "invoking" a function Each function can only be declared once: foreach ( range(1, 10) as $loop ) function once_and_only_once() { } !! Fatal Error: Cannot redeclare once_and_only_once() Friday, October 4, 13
    • Modular Programming Modular Programming ("top-down design" or "stepwise refinement") is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality Separation of Concerns - one piece at a time. Increasing the complexity of a system compounds the difficulty of maintaining it; smaller and simpler components are easier to maintain Abstraction - write it once and only once Encapsulation - everything needed is there Scoping - doesn't affect other elements Friday, October 4, 13
    • Functions Functions must start with the function keyword, must contain a valid function identifier (with variables), provide an optional list of arguments surrounded by parentheses, even if there are none, and a block of code: function do_something( $an_argument, $another ) { // Code goes here } Nothing from outside is visible to code in the block Nothing inside the block is visible outside the function Pass values into a function as arguments at invocation: do_something( 'some value', "$another_value ); Friday, October 4, 13
    • $outside_of_scope = 'outside only'; function do_something( $an_arg, $arg_two = false ) { $inside_of_scope = 'inside only'; if( $arg_two ) echo $outside_of_scope; echo $an_arg; // passed in at invocation return $inside_of_scope; // passed back out } do_something( 'now' ); // prints "now" echo $inside_of_scope; // Notice: Undefined variable do_something( 'again', true ); // Notice: Undefined variable Friday, October 4, 13
    • ASSIGNMENT 6.1 Finding Functions Friday, October 4, 13
    • Finding Functions Pair up, login to Github, login to Cloud9 Open an existing Workspace and find some functions together Copy and paste the function definition for each into a new file called assignment-6.1.md in your assignments workspace Identify the name of the function and the names of all of the arguments with comments; bonus points for identifying the return value of the function Find at least three invocations of each function Friday, October 4, 13
    • ASSIGNMENT 6.2 Identifying Functions & Scope Friday, October 4, 13
    • Functions & Scope Find at least three functions in the WordPress project Document them in a new file called assignment-6.2.md Use the format: path/to/file.php:9999 Identify the name of the function and its arguments with comments Identify the in-scope variables by name Identify the return value of each function Add and commit your file, push to Github Friday, October 4, 13