SlideShare a Scribd company logo
1 of 28
Download to read offline
Haim Michael
October 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

LifeMichael.com

PHP Jump Start
●

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

LifeMichael.com

Table of Content
●

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";
?>

LifeMichael.com

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.

LifeMichael.com

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.

LifeMichael.com

Introduction
●

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

LifeMichael.com

Development Tools
●

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];
?>

LifeMichael.com

Associative Arrays
●

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
{
...
}

LifeMichael.com

Object Oriented Programming
●

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;
//...
}

LifeMichael.com

Object Oriented Programming
●

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();
?>

LifeMichael.com

Functional Programming
●

PHP allows us to define anonymous functions. Makes
things simpler when passing over a function as argument
to another function.
<?php
doSomething(function() {...});
?>

LifeMichael.com

Functional Programming
●

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);
?>

LifeMichael.com

Functional Programming
●

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

LifeMichael.com

Web Applications Frameworks
Learning Management Systems

LifeMichael.com

Open Source Projects
Enterprises Resources Planning

LifeMichael.com

Open Source Projects
Customers Relationships Management

LifeMichael.com

Open Source Projects
Content Management Systems

LifeMichael.com

Open Source Projects
www.tiobe.com

LifeMichael.com

PHP, Java EE & .NET
www.tiobe.com

LifeMichael.com

PHP, Java EE & .NET
long

.NET

short

Learning Curve

Java EE

PHP

simple

complex

Development Process

LifeMichael.com

PHP, Java EE & .NET
high
low

Platform Dependency

.NET

PHP

cheap

Java EE

expensive

Development Cost

LifeMichael.com

PHP, Java EE & .NET
big

PHP
.NET

small

Open Source Community

Java EE

few

many

Hosting Services

LifeMichael.com

PHP, Java EE & .NET
strong

PHP

weak

Functional Programming

.NET

Java EE

weak

strong

Object Oriented Programming

LifeMichael.com

PHP, Java EE & .NET
strong
weak

Databases Dependency

.NET
PHP
Java EE
few

many

Available Web Frameworks

LifeMichael.com

PHP, Java EE & .NET
big

PHP

small

Israeli Local Community

.NET

Java EE

few

many

Application Servers

LifeMichael.com

PHP, Java EE & .NET
●

www.php.net

●

www.zend.com

●

www.phpbook.co.il

●

abelski.lifemichael.com

●

www.xampp.org

●

www.phpbook.co.il

LifeMichael.com

Learning Resources
●

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.

LifeMichael.com

Certifications in PHP
●

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.

LifeMichael.com

Questions & Answers

More Related Content

What's hot

Nette framework (WebElement #28)
Nette framework (WebElement #28)Nette framework (WebElement #28)
Nette framework (WebElement #28)
Adam Štipák
 
Php(report)
Php(report)Php(report)
Php(report)
Yhannah
 
Dart, Darrt, Darrrt
Dart, Darrt, DarrrtDart, Darrt, Darrrt
Dart, Darrt, Darrrt
Jana Moudrá
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
Niit
 

What's hot (20)

PHP slides
PHP slidesPHP slides
PHP slides
 
Loops PHP 04
Loops PHP 04Loops PHP 04
Loops PHP 04
 
Nette framework (WebElement #28)
Nette framework (WebElement #28)Nette framework (WebElement #28)
Nette framework (WebElement #28)
 
Control Structures In Php 2
Control Structures In Php 2Control Structures In Php 2
Control Structures In Php 2
 
Php introduction
Php introductionPhp introduction
Php introduction
 
Java script in game
Java script in gameJava script in game
Java script in game
 
Mustache
MustacheMustache
Mustache
 
Embrace dynamic PHP
Embrace dynamic PHPEmbrace dynamic PHP
Embrace dynamic PHP
 
Php mysql
Php mysqlPhp mysql
Php mysql
 
Ruby programming
Ruby programmingRuby programming
Ruby programming
 
Php(report)
Php(report)Php(report)
Php(report)
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
 
php
phpphp
php
 
Mdst 3559-02-15-php
Mdst 3559-02-15-phpMdst 3559-02-15-php
Mdst 3559-02-15-php
 
01 Php Introduction
01 Php Introduction01 Php Introduction
01 Php Introduction
 
PHP Tutorials
PHP TutorialsPHP Tutorials
PHP Tutorials
 
php questions
php questions php questions
php questions
 
Dart, Darrt, Darrrt
Dart, Darrt, DarrrtDart, Darrt, Darrrt
Dart, Darrt, Darrrt
 
PHP Comprehensive Overview
PHP Comprehensive OverviewPHP Comprehensive Overview
PHP Comprehensive Overview
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
 

Similar to PHP Jump Start

Object Oriented Programming with Laravel - Session 1
Object Oriented Programming with Laravel - Session 1Object Oriented Programming with Laravel - Session 1
Object Oriented Programming with Laravel - Session 1
Shahrzad Peyman
 
PHP
PHPPHP
Winter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHPWinter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHP
tutorialsruby
 
Winter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHPWinter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHP
tutorialsruby
 

Similar to PHP Jump Start (20)

Basics PHP
Basics PHPBasics PHP
Basics PHP
 
Php mysql training-in-mumbai
Php mysql training-in-mumbaiPhp mysql training-in-mumbai
Php mysql training-in-mumbai
 
Introduction to PHP (SDPHP)
Introduction to PHP   (SDPHP)Introduction to PHP   (SDPHP)
Introduction to PHP (SDPHP)
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHP
 
Php Interview Questions
Php Interview QuestionsPhp Interview Questions
Php Interview Questions
 
Laravel level 0 (introduction)
Laravel level 0 (introduction)Laravel level 0 (introduction)
Laravel level 0 (introduction)
 
Php
PhpPhp
Php
 
Introduction to PHP - Basics of PHP
Introduction to PHP - Basics of PHPIntroduction to PHP - Basics of PHP
Introduction to PHP - Basics of PHP
 
PHP - Introduction to PHP Fundamentals
PHP -  Introduction to PHP FundamentalsPHP -  Introduction to PHP Fundamentals
PHP - Introduction to PHP Fundamentals
 
Web technology html5 php_mysql
Web technology html5 php_mysqlWeb technology html5 php_mysql
Web technology html5 php_mysql
 
Object Oriented Programming with Laravel - Session 1
Object Oriented Programming with Laravel - Session 1Object Oriented Programming with Laravel - Session 1
Object Oriented Programming with Laravel - Session 1
 
PHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor IntroductionPHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor Introduction
 
PHP
PHPPHP
PHP
 
Php Tutorial
Php TutorialPhp Tutorial
Php Tutorial
 
Getting started with php
Getting started with phpGetting started with php
Getting started with php
 
Winter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHPWinter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHP
 
Winter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHPWinter%200405%20-%20Beginning%20PHP
Winter%200405%20-%20Beginning%20PHP
 
Wc13
Wc13Wc13
Wc13
 
PHP Basics
PHP BasicsPHP Basics
PHP Basics
 
Php
PhpPhp
Php
 

More from Haim Michael

More from Haim Michael (20)

Anti Patterns
Anti PatternsAnti Patterns
Anti Patterns
 
Virtual Threads in Java
Virtual Threads in JavaVirtual Threads in Java
Virtual Threads in Java
 
MongoDB Design Patterns
MongoDB Design PatternsMongoDB Design Patterns
MongoDB Design Patterns
 
Introduction to SQL Injections
Introduction to SQL InjectionsIntroduction to SQL Injections
Introduction to SQL Injections
 
Record Classes in Java
Record Classes in JavaRecord Classes in Java
Record Classes in Java
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design Patterns
 
Structural Pattern Matching in Python
Structural Pattern Matching in PythonStructural Pattern Matching in Python
Structural Pattern Matching in Python
 
Unit Testing in Python
Unit Testing in PythonUnit Testing in Python
Unit Testing in Python
 
OOP Best Practices in JavaScript
OOP Best Practices in JavaScriptOOP Best Practices in JavaScript
OOP Best Practices in JavaScript
 
Java Jump Start
Java Jump StartJava Jump Start
Java Jump Start
 
JavaScript Jump Start 20220214
JavaScript Jump Start 20220214JavaScript Jump Start 20220214
JavaScript Jump Start 20220214
 
Bootstrap Jump Start
Bootstrap Jump StartBootstrap Jump Start
Bootstrap Jump Start
 
What is new in PHP
What is new in PHPWhat is new in PHP
What is new in PHP
 
What is new in Python 3.9
What is new in Python 3.9What is new in Python 3.9
What is new in Python 3.9
 
Programming in Python on Steroid
Programming in Python on SteroidProgramming in Python on Steroid
Programming in Python on Steroid
 
The matplotlib Library
The matplotlib LibraryThe matplotlib Library
The matplotlib Library
 
Pandas meetup 20200908
Pandas meetup 20200908Pandas meetup 20200908
Pandas meetup 20200908
 
The num py_library_20200818
The num py_library_20200818The num py_library_20200818
The num py_library_20200818
 
Jupyter notebook 20200728
Jupyter notebook 20200728Jupyter notebook 20200728
Jupyter notebook 20200728
 
Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start)
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

PHP Jump Start