3. INTRODUCTION TO PHP
PHP SYNTAX
▸ A PHP script starts with <?php and ends with ?> (not always)
▸ PHP statements end with a semicolon (;)
▸ Comments in PHP
// This is a single-line comment
# This is also a single-line comment
/*
This is a multiple-lines comment block
that spans over multiple lines
*/
▸ In PHP, all keywords (e.g. if, else, while, echo, etc.), classes, functions, and user-defined functions are
NOT case-sensitive
▸ However; all variable names ARE case-sensitive.
3
4. INTRODUCTION TO PHP
PHP VARIABLES
▸ In PHP, a variable starts with the $ sign, followed by the name of the variable
▸ Rules for PHP variables:
▸ A variable starts with the $ sign, followed by the name of the variable
▸ A variable name must start with a letter or the underscore character
▸ A variable name cannot start with a number
▸ A variable name can only contain alpha-numeric characters and
underscores (A-z, 0-9, and _ )
▸ Variable names are case-sensitive ($age and $AGE are two different
variables)
4
5. INTRODUCTION TO PHP
PHP VARIABLES
▸ PHP is a Loosely Typed Language
▸ The scope of a variable is the part of the script where the variable can be
referenced/used.
▸ PHP has three different variable scopes: local, global, static
▸ A variable declared outside a function has a global scope and can only be
accessed outside a function
▸ A variable declared within a function has a local scope and can only be accessed
within that function
▸ The global keyword is used to access a global variable from within a function
▸ Normally, when a function is completed/executed, all of its variables are deleted.
However, sometimes we want a local variable NOT to be deleted. To do this, use
the static keyword when you first declare the variable
5
6. INTRODUCTION TO PHP
PHP ECHO AND PRINT STATEMENTS
▸ In PHP there are two basic ways to get output: echo and
print
▸ echo and print are more or less the same, they are both
used to output data to the screen
▸ The differences are small: echo has no return value while
print has a return value of 1 so it can be used in
expressions. echo can take multiple parameters (although
such usage is rare) while print can take one argument.
echo is marginally faster than print
6
7. INTRODUCTION TO PHP
PHP EXAMPLE
<?php
echo "Hello World!";
$txt = "Hello world!";
$x = 5;
$y = 10.5;
echo "I love $txt!";
echo "I love " . $txt . "!";
echo "I love {$txt}!";
echo $x + $y;
7
8. INTRODUCTION TO PHP
PHP EXAMPLE
<?php
function myTest() {
$x = 5; // local scope
echo "Variable x inside function is: $x";
}
myTest();
// using x outside the function will generate an error
echo "Variable x outside function is: $x";
$x = 5;
$y = 10;
function myTest() {
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
function myTest() {
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
8
9. INTRODUCTION TO PHP
PHP DATA TYPES
▸ PHP supports the following data types:
▸ String
▸ Integer
▸ Float (floating point numbers - also called double)
▸ Boolean
▸ Array
▸ Object
▸ NULL
▸ Resource
9
10. INTRODUCTION TO PHP
DATA TYPES EXAMPLE
<?php
$x = 'Hello world!';
echo $x;
$x = 5985;
var_dump($x);
$x = 10.365;
var_dump($x);
$x = true;
var_dump($x);
$cars = ["Volvo", "BMW", "Toyota"];
var_dump($cars);
class Car {
public $model;
function __construct($model) {
$this->model = $model;
}
}
$golf = new Car("WW");
echo $golf->model;
$x = null;
var_dump($x);
10
11. INTRODUCTION TO PHP
PHP CONSTANTS
▸ A constant is an identifier (name) for a simple value. The
value cannot be changed during the script.
▸ A valid constant name starts with a letter or underscore (no
$ sign before the constant name).
11
12. INTRODUCTION TO PHP
CONSTANTS EXAMPLE
<?php
define("SOMECONTANT", "burning keyboards”);
echo SOMECONSTANT; // outputs "burning keyboards"
12
14. INTRODUCTION TO PHP
COMPARISON OPERATORS
<?php
$x = 10;
$y = 5;
$x == $y; // equal
$x === $y; // identical (equal + same type)
$x != $y; // not equal
$x !== $y; // not identical
$x <> $y; // not equal
$x > $y; // greater than
$x >= $y; // greater than or equal
$x < $y; // less than
$x <= $y; // less than or equal
14
15. INTRODUCTION TO PHP
INCREMENT / DECREMENT & LOGICAL OPERATORS
<?php
++$x; // Pre-increment - increments $x by one, then returns $x
$x++; // Post-increment - returns $x, then increments $x by one
--$x; // Pre-decrement - decrements $x by one, then returns $x
$x--; // Post-decrement - returns $x, then decrements $x by one
$x && $y; // AND, returns true if both $x and $y are true
$x || $y; // OR, returns true if either $x or $y are true
$x xor $y; // XOR, returns true if either $x or $y is true, but not both
!$x; // NOT, returns true if $x is not true
15
17. INTRODUCTION TO PHP
CONDITIONALS
<?php
$i = 11;
if ($i < 10) {
echo "Number is smaller than 10!";
} else if ($i < 20) {
echo "Number is smaller than 20!";
} else {
echo "Number is greater or equal to 20!";
}
$favoritecolor = "red";
switch ($favoritecolor) {
case "red":
echo "Your favorite color is red!";
break;
case "blue":
echo "Your favorite color is blue!";
break;
case "green":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
$a = ($b > $c) ? $b : $c;
17
18. INTRODUCTION TO PHP
LOOPS
<?php
$x = 1;
while ($x <= 5) {
echo "The number is: $x";
$x++;
}
$x = 6;
do {
echo "The number is: $x";
$x++;
} while ($x <= 5); // this evaluates at the end, so it will always print once
for ($x = 0; $x <= 10; $x++) {
echo "The number is: $x";
}
$colors = ["red", "green", "blue", "yellow"];
foreach ($colors as $color) {
echo "$color <br>";
}
18
19. INTRODUCTION TO PHP
FUNCTIONS
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // call the function
function writeMsg($msq = "Default one") {
echo "My message: $msg";
}
writeMsg("New message");
19
22. INTRODUCTION TO PHP
SUPERGLOBALS
▸ Several predefined variables in PHP are "superglobals", which means that they are always
accessible, regardless of scope - and you can access them from any function, class or file
without having to do anything special.
▸ The PHP superglobal variables are:
▸ $GLOBALS
▸ $_SERVER
▸ $_REQUEST
▸ $_POST
▸ $_GET
▸ $_FILES
▸ $_ENV
▸ $_COOKIE
▸ $_SESSION
22
23. INTRODUCTION TO PHP
DATE & TIME
<?php
echo "Today is " . date("d.m.Y H:i:s");
$d = mktime(11, 14, 54, 7, 5, 2017);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
$d = strtotime("10:30pm July 5 2017");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
$d = strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d);
$d = strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d);
$d = strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d);
$nextWeek = time() + (7 * 24 * 60 * 60); // + 7 days
echo 'Next Week: '. date('Y-m-d', $nextWeek);
23
24. INTRODUCTION TO PHP
FILE HANDLING
<?php
echo readfile("some.txt");
$file = file_get_contents('some.txt'); // returns string
$homepage = file_get_contents('http://www.google.com/'); // returns string
$lines = file('some.txt');
foreach ($lines as $line_num => $line) {
echo "Line #{$line_num} : " . $line . "n";
}
$myfile = fopen("some.txt", "r") or die("Unable to open file!");
echo fread($myfile, filesize("some.txt"));
fclose($myfile);
$myfile = fopen("some.txt", "r") or die("Unable to open file!");
while (!feof($myfile)) {
echo fgets($myfile);
}
fclose($myfile);
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
fwrite($myfile, "First linen");
fwrite($myfile, "Second linen");
fclose($myfile);
24
25. INTRODUCTION TO PHP
COOKIES
<?php
setcookie("username", "John Doe", time() + (86400 * 30), "/"); // 86400 = 1 day
if (!isset($_COOKIE["username"])) {
echo "Cookie named username is not set!";
} else {
echo "Cookie username is set and has value " . $_COOKIE["username"];
}
// modify cookie
setcookie("username", "Jane Doe", time() + (86400 * 30), "/");
// delete cookie
setcookie("username", "", time() - 3600);
25
26. INTRODUCTION TO PHP
SESSIONS
<?php
// Start the session
session_start();
// Set session variables
$_SESSION["username"] = "Jon Doe";
echo "Username is " . $_SESSION["username"];
// modify session
$_SESSION["username"] = "Jane Doe";
// delete single session variable
unset($_SESSION["username"]);
// remove all session variables
session_unset();
// destroy the session
session_destroy();
26
27. INTRODUCTION TO PHP
ERROR HANDLING
<?php
if (!file_exists("welcome.txt")) {
die("File not found");
} else {
$file = fopen(“welcome.txt", "r");
}
function customError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr n";
}
set_error_handler("customError");
$test = 2;
if ($test >= 1) {
trigger_error("Value must be 1 or below");
}
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
27
28. INTRODUCTION TO PHP
EXCEPTIONS
<?php
function checkNum($number) {
if ($number>1) {
throw new Exception("Value must be 1 or below");
}
return true;
}
//trigger exception
checkNum(2);
try {
checkNum(2);
//If the exception is thrown, this text will not be shown
echo 'If you see this, the number is 1 or below';
} catch (Exception $e) {
echo 'Message: ' .$e->getMessage();
}
function myException($exception) {
echo "<b>Exception:</b> " . $exception->getMessage();
}
set_exception_handler('myException');
throw new Exception('Uncaught Exception occurred');
28
29. INTRODUCTION TO PHP
INCLUDES
<?php
include 'header.php';
//include will only produce a warning (E_WARNING) and the script will continue
require 'body.php';
// require will produce a fatal error (E_COMPILE_ERROR) and stop the script
require_once 'footer.php';
// the require_once statement is identical to require except PHP will check if the file
has already been included, and if so, not include (require) it again.
29
30. INTRODUCTION TO PHP
PHP REFERENCES
▸ PHP Manual
▸ http://php.net/manual/en/
▸ Zend PHP 101
▸ https://devzone.zend.com/6/php-101-php-for-the-absolute-
beginner/
▸ PHP The Right Way
▸ http://www.phptherightway.com/
▸ Awesome PHP
▸ https://github.com/ziadoz/awesome-php
30