L

i

f

PHP Jump Start e

M Haim Michael April 22th, 2013 i

c

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

a

e

l

.

c

o

m

L

i

f

Table of Content e

M ● Introduction to PHP

● Development Tools

i

● Associative Arrays c

● Object Oriented Programming h

● Functional Programming

a ● Web Applications Frameworks

e ● Open Source Projects

● PHP, Java EE & .NET l

. ● PHP Important Links c

● Certifications in PHP

o ● Questions & Answers

m

L

i

f

Introduction e

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

scripting dynamically typed language mainly used for i

c web applications development.

h

e $num2 = 20;

l $num3 = 30;

.

$sum = $num1 + $num2 + $num3; c echo "sum=$sum";

o ?>

m

L

i

f

Introduction e

M ● PHP was originally developed by Rasmus Lardorf in

1994, and was publicly released in June 1995. This i

c released version is known as PHP 2.

h

● In 1997 & Andi Gutmans rewrote PHP

a parser and formed the base of PHP 3.

e

● In 1998 Zeev Suraski & Andi Gutmans started a new l

.

rewrite of PHP core and produced the Engine in c

1999. o

m

L

i

f

Introduction e

M ● On May 22nd 2000 PHP 4 powered by 1.0

was released. i

c

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

h was released.

a

e

l

.

c

o

m

L

i

f

Development Tools e

M

● There are many different IDEs we can use in order to develop in PHP. i

c

h

a

e

l

.

c

o

m

L

i

f

Associative Arrays e

M

● An array is an ordered collection of elements. Each element has a value, and is identified by a key. Each i

c array has its own unique keys.

h

a

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

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

$vecA[100] = “moshiko”; .

c echo $vecA[101];

?> o

m

L

i

f

Object Oriented Programming e

M

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

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

c

interface Printable h {

a function print();

} e

l

class Bird extends Animal implements Printable, Flyable .

{ c ...

o }

m

L

i

f

Object Oriented Programming e

M

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

and share it horizontally with other classes. i

c

trait Academic { h function think(){

a echo "I think";

} e }

l

. class Student extends Person {

c use Academic;

//... o }

m

L

i

f

Functional Programming e

M

● PHP allows us to assign functions to variables. We can easily define functions that take other functions as i

c arguments.

h

a

function doSomething() { … } e

$temp = 'doSomething'; l

$temp(); .

c ?>

o

m

L

i

f

Functional Programming e

M

● PHP allows us to define anonymous functions. Makes things simpler when passing over a function as argument i

c to another function.

h

a

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

?> l

.

c

o

m

L

i

f

Web Applications Frameworks e

M

● There are many available frameworks we can use when coding in PHP. i

c

h

a

e

l

.

c

o

m

L

i

f

Open Source Projects e

M

Learning Management Systems

i

c

h

a

e

l

.

c

o

m

L

i

f

Open Source Projects e

M

Enterprises Resources Planning

i

c

h

a

e

l

.

c

o

m

L

i

f

Open Source Projects e

M

Customers Relationships Management

i

c

h

a

e

l

.

c

o

m

L

i

f

Open Source Projects e

M

Content Management Systems

i

c

h

a

e

l

.

c

o

m

L

i

f

PHP, Java EE & .NET e

M

i

c

h

a

e

l

.

c

o

m www.tiobe.com

L

i

f

PHP, Java EE & .NET e

M

Java EE

i

c

g

n

o

l

e

h

v

r

u

C .NET

a

g

n

i

n

r

e

a

e

t

r

L

o

h

PHP l

s

.

c

simple complex o

Development Process m

L

i

f

PHP, Java EE & .NET e

M

i

c

y

h

c

g

i .NET

n

h

e

d

h

n

e

p

e

a

D

m

r

e

o

f

t

a

l w PHP Java EE

P

o

l

l

.

c

cheap expensive

o

Development C ost m

L

i

f

PHP, Java EE & .NET e

M

i

c

y

t

i

n

g

i

u Java EE PHP

h

b

m

m

o

.NET a

C

e

c

r

e

u

o

l

l

S

a

n

l

m

e

s

p

.

O

c

few many o

Hosting Services m

L

i

f

PHP, Java EE & .NET e

M

.NET

i

g

c

g

n

i

n

o

m

r

t

m

h

s

a

r

g

o PHP

r

a

P

l

a

n

e

o

i

t

k

c

a

n e Java EE l

u

w

F

.

c

weak strong o

Object Oriented Programming m

L

i

f

PHP, Java EE & .NET e

M

i

y

g

c

c

n

n

o

e

r

t

d

s

n

h

e

p

e

D

a

s .NET e

s

a

e

b

k

a

a

t

e PHP

a

l

w

D

.

Java EE c few many

o

Available Web Frameworks

m

L

i

f

PHP, Java EE & .NET e

M

i

c

y

t

i

g

n i .NET PHP

u

b

h

m

m

o

C a

l

a

c

o

e

L

l

i

l

l

a

e

a Java EE l

m

r

s

s

I

.

c

few many o

Application Servers m

L

i

f

PHP Important Links e

M ● www.php.net

i ● www.zend.com

c

● www.phpbook.co.il h

a ● www.abelski.com

e ● www.xampp.org

l

.

c

o

m

L

i

f

Certifications in PHP e

M ● The professional certifications in PHP are managed by Zend

and include the following two certifications: i

c Zend Certified Engineer in PHP 5.3

h Zend Certified Engineer in Zend Framework

a ● You can find more information about these two certifications

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

l

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

were certified as PHP engineers at o http://www.zend.com/en/yellow-pages.

m

L

i

f

Questions & Answers e

M ● Two courses you might find interesting include

PHP Cross Platform Mobile Applications i

c more info detailed plan

h Android 4.2 Applications Development

more info detailed plan a

e ● If you enjoyed my lecture please leave me a comment

l

at http://speakermix.com/life-michael. .

c

Thanks for your time! o

Haim. m