fall 2004csi 4118 -- university of ottawa introduction to php basic principles and syntax

15
Introduction to PHP Basic principles and syntax

Upload: julianna-lester

Post on 04-Jan-2016

217 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

Introduction to PHP

Basic principles and syntax

Page 2: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

What is PHP?

PHP == ‘Hypertext Preprocessor’ Open-source, server-side scripting language Used to generate dynamic web-pages PHP scripts reside between reserved PHP

tags This allows the programmer to embed PHP

scripts within HTML pages

Page 3: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

What is PHP (cont’d)

Interpreted language, scripts are parsed at run-time rather than compiled beforehand

Executed on the server-side Source-code not visible by client

‘View Source’ in browsers does not display the PHP code

Plethora of built-in functions allow for fast development

Compatible with many popular databases

Page 4: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

What does PHP code look like?

Structurally similar to C/C++ Supports procedural and object-oriented

paradigm (to some degree) All PHP statements end with a semi-colon Each PHP script must be enclosed in the

reserved PHP tag

<?php …?>

Page 5: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

Comments in PHP

Standard C, C++, and shell comment symbols

// C++ and Java-style comment

# Shell-style comments

/* C-style comments These can span multiple lines */

Page 6: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

Variables in PHP

PHP variables must begin with a “$” sign Case-sensitive ($Foo != $foo != $fOo) Global and locally-scoped variables

Global variables can be used anywher Local variables restricted to a function or class

Certain variable names reserved by PHP Form variables ($_POST, $_GET) Server variables ($_SERVER) Etc.

Page 7: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

Variable usage

<?php$foo = 25; // Numerical variable$bar = “Hello”; // String variable

$foo = ($foo * 7); // Multiplies foo by 7$bar = ($bar * 7); // Invalid expression ?>

Page 8: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

Echo

The PHP command ‘echo’ is used to output the parameters passed to it The typical usage for this is to send data to the

client’s web-browser Syntax

void echo (string arg1 [, string argn...]) In practice, arguments are not passed in

parentheses since echo is a language construct rather than an actual function

Page 9: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

Echo example

Notice how echo ‘5x5=$foo’ outputs $foo rather than replacing it with 25 Strings in single quotes (‘ ‘) are not interpreted or evaluated by PHP This is true for both variables and character escape-sequences (such as “\n”

or “\\”)

<?php$foo = 25; // Numerical variable$bar = “Hello”; // String variable

echo $bar; // Outputs Helloecho $foo,$bar; // Outputs 25Helloecho “5x5=“,$foo; // Outputs 5x5=25echo “5x5=$foo”; // Outputs 5x5=25echo ‘5x5=$foo’; // Outputs 5x5=$foo?>

Page 10: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

Functions

Functions MUST be defined before then can be called

Function headers are of the format

Note that no return type is specified Unlike variables, function names are not case

sensitive (foo(…) == Foo(…) == FoO(…))

function functionName($arg_1, $arg_2, …, $arg_n)

Page 11: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

Functions example

<?php

// This is a function

function foo($arg_1, $arg_2)

{ $arg_2 = $arg_1 * $arg_2;

  return $arg_2;}

$result_1 = foo(12, 3); // Store the function

echo $result_1; // Outputs 36

echo foo(12, 3); // Outputs 36

?>

Page 12: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

The Big Picture for Assignment 2

Learn about web-servers Learn about Apache

Download / Installation

Learn about PHP Download / Installation

Configure Apache Modify and save the configuration file, then restart

Learn about file I/O without the aid of SQL Design, write, and test scripts to solve Assignment 2

Page 13: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

Saving Data in Text Files

PHP has built in functions for File I/O processing fopen (..), fwrite(..), fclose(..), fflush(..), file_get_contents(..)

Using these pre-made functions, File I/O in PHP is similar to that of C

General Flow: Open file Read data Modify data Write data Close file

Page 14: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

Saving Data in Text Files: Example<?php$filename = 'test.txt'; /* Filename for writing. This is assumed to be in the same directory as

the script */$somecontent = "Add this to the file\n"; // String to append to the file

// Let's make sure the file exists and is writable first.if (is_writable($filename)) { // Open the file in append mode ( ‘a’ ) so that the string being stored is written at the end of the // file rather than replacing the existing text   if (!$handle = fopen($filename, 'a')) {         echo "Cannot open file ($filename)";         exit;   }

   // Write $somecontent to the opened file.   if (fwrite($handle, $somecontent) === FALSE) {       echo "Cannot write to file ($filename)";       exit;   }     echo "Success, wrote ($somecontent) to file ($filename)";      fclose($handle);} else {   echo "The file $filename is not writable";} ?>

Page 15: Fall 2004CSI 4118 -- University of Ottawa Introduction to PHP Basic principles and syntax

For more information…

http://www.php.net/manual/en/ http://www.w3schools.com/php/default.asp http://www.zend.com/zend/tut/