PHP Jump Start

28
PHP Jump Start Haim Michael October 9 th , 2013 All logos, trade marks and brand names used in this presentation belong to the respective owners. Watch the lecture at http://youtu.be/4g3U6MZc92Q L i f e M i c h a e l . c o m

description

These are the slides I was using in the PHP JumpStart lecture, that took place in HIT on October 9th, 2013. You can watch my lecture at http://youtu.be/h1bwU6VBVug.

Transcript of PHP Jump Start

Page 1: PHP Jump Start

PHP Jump Start

Haim MichaelOctober 9th, 2013

All logos, trade marks and brand names used in this presentation belong to the respective owners.

Watch the lecture at http://youtu.be/4g3U6MZc92Q

Li fe M

ic hae l .c o

m

Page 2: PHP Jump Start

Table of ContentLi fe M

ic hae l .c o

m● Introduction to PHP● Development Tools● Associative Arrays ● Object Oriented Programming● Functional Programming● Web Applications Frameworks● Open Source Projects● PHP, Java EE & .NET ● Learning Resources● Certifications in PHP● Questions & Answers

Page 3: PHP Jump Start

Introduction● PHP (Personal Home Page Tools) is a computer

scripting dynamically typed language mainly used for

web applications development.

<?php

$num1 = 10;

$num2 = 20;

$num3 = 30;

$sum = $num1 + $num2 + $num3;

echo "sum=$sum";

?>

Li fe M

ic hae l .c o

m

Page 4: PHP Jump Start

Introduction● PHP was originally developed by Rasmus Lardorf in

1994, and was publicly released in June 1995. This

released version is known as PHP 2.

● In 1997 Zeev Suraski & Andi Gutmans rewrote PHP

parser and formed the base of PHP 3.

● In 1998 Zeev Suraski & Andi Gutmans started a new

rewrite of PHP core and produced the Zend Engine in

1999.

Li fe M

ic hae l .c o

m

Page 5: PHP Jump Start

Introduction● On May 22nd 2000 PHP 4 powered by Zend Engine 1.0

was released.

● On July 13th 2004 PHP 5 powered by Zend Engine 2.0

was released.

Li fe M

ic hae l .c o

m

Page 6: PHP Jump Start

Development ToolsLi fe M

ic hae l .c o

m

● There are many different IDEs we can use in order to

develop in PHP.

Page 7: PHP Jump Start

Associative ArraysLi fe M

ic hae l .c o

m

● An array is an ordered collection of elements. Each

element has a value, and is identified by a key. Each

array has its own unique keys.

<?php

$vecA = array(100=>"moshe",101=>"david",102=>"john");

$vecB = array("m"=>"moshe","d"=>"david","j"=>"john");

$vecA[100] = “moshiko”;

echo $vecA[101];

?>

Page 8: PHP Jump Start

Object Oriented ProgrammingLi fe M

ic hae l .c o

m

● As of PHP 5, we can define classes, abstract classes and

interfaces. The syntax is similar to the one we use in Java.

interface Printable

{

function print();

}

class Bird extends Animal implements Printable, Flyable

{

...

}

Page 9: PHP Jump Start

Object Oriented ProgrammingLi fe M

ic hae l .c o

m

● As of PHP 5.4, we can define traits in order to group functionality

and share it horizontally with other classes.

trait Academic {

function think(){

echo "I think";

}

}

class Student extends Person {

use Academic;

//...

}

Page 10: PHP Jump Start

Functional ProgrammingLi fe M

ic hae l .c o

m

● PHP allows us to assign functions to variables. We can

easily define functions that take other functions as

arguments.

<?php

function doSomething() { … }

$temp = 'doSomething';

$temp();

?>

Page 11: PHP Jump Start

Functional ProgrammingLi fe M

ic hae l .c o

m

● PHP allows us to define anonymous functions. Makes

things simpler when passing over a function as argument

to another function.

<?php

doSomething(function() {...});

?>

Page 12: PHP Jump Start

Functional ProgrammingLi fe M

ic hae l .c o

m

● As of PHP 5.5 we can use the yield statement for creating

new collections based on existing ones.

<?php

function powpow($vector) {

foreach($vector as $v) {

yield $v*$v;

}

}

$vec = [1,2,3,4,5];

$otherVec = powpow($vec);

?>

Page 13: PHP Jump Start

Web Applications FrameworksLi fe M

ic hae l .c o

m

● There are many available frameworks we can use when

coding in PHP.

Page 14: PHP Jump Start

Open Source ProjectsLi fe M

ic hae l .c o

m

Learning Management Systems

Page 15: PHP Jump Start

Open Source ProjectsLi fe M

ic hae l .c o

m

Enterprises Resources Planning

Page 16: PHP Jump Start

Open Source ProjectsLi fe M

ic hae l .c o

m

Customers Relationships Management

Page 17: PHP Jump Start

Open Source ProjectsLi fe M

ic hae l .c o

m

Content Management Systems

Page 18: PHP Jump Start

PHP, Java EE & .NETLi fe M

ic hae l .c o

mwww.tiobe.com

Page 19: PHP Jump Start

PHP, Java EE & .NETLi fe M

ic hae l .c o

m

www.tiobe.com

Page 20: PHP Jump Start

PHP, Java EE & .NETLi fe M

ic hae l .c o

mLe

a rni

n g C

urve

Development Process

simple complex

long

shor

t

PHP

Java EE

.NET

Page 21: PHP Jump Start

PHP, Java EE & .NETLi fe M

ic hae l .c o

mP

lat fo

rm D

e pe n

denc

y

Development Cost

cheap expensive

high

low PHP Java EE

.NET

Page 22: PHP Jump Start

PHP, Java EE & .NETLi fe M

ic hae l .c o

mO

pen

So

urce

Com

mu n

ity

Hosting Services

few many

big

smal

l

PHPJava EE

.NET

Page 23: PHP Jump Start

PHP, Java EE & .NETLi fe M

ic hae l .c o

mF

unct

iona

l Pro

gram

min

g

Object Oriented Programming

weak strong

stro

ngw

eak

PHP

Java EE

.NET

Page 24: PHP Jump Start

PHP, Java EE & .NETLi fe M

ic hae l .c o

mD

ata b

a se

s D

epen

den c

y

Available Web Frameworks

few many

stro

ngw

eak

PHP

Java EE

.NET

Page 25: PHP Jump Start

PHP, Java EE & .NETLi fe M

ic hae l .c o

mIs

rael

i Loc

a l C

om

mu

n ity

Application Servers

few many

big

smal

l

PHP

Java EE

.NET

Page 26: PHP Jump Start

Learning Resources● www.php.net

● www.zend.com

● www.phpbook.co.il

● abelski.lifemichael.com

● www.xampp.org

● www.phpbook.co.il

Li fe M

ic hae l .c o

m

Page 27: PHP Jump Start

Certifications in PHP● The professional certifications in PHP are managed by Zend

and include the following two certifications:

Zend Certified Engineer in PHP 5.3

Zend Certified Engineer in Zend Framework

● You can find more information about these two certifications

at http://www.zend.com/services/certification/

● You can find a complete list of all people world wide who

were certified as PHP engineers at

http://www.zend.com/en/yellow-pages.

Li fe M

ic hae l .c o

m

Page 28: PHP Jump Start

Questions & Answers● Two courses you might find interesting include

Software Engineering in PHP

more info

Android 4.4 Java Applications Development

more info

HTML5 Cross Platform Mobile Applications

more info

● If you enjoyed my lecture please leave me a comment

at http://speakerpedia.com/speakers/life-michael.

Thanks for your time!

Haim.

Li fe M

ic hae l .c o

m