Top Banner
The State of PHP 2014 James Titcumb Portsmouth Linux User Group 21st June 2014
46

The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

May 11, 2015

Download

Software

James Titcumb
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

The State of PHP 2014James Titcumb

Portsmouth Linux User Group21st June 2014

Page 2: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

James Titcumbwww.jamestitcumb.comwww.protected.co.ukwww.phphants.co.uk@asgrim

Who is this guy?

Page 3: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Who are you?

Page 4: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

A brief history...

Page 5: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

1994-1995 - PHP/FI 1.0

● Basic functionality● Solved a problem● Simpler than Perl

http://en.wikipedia.org/wiki/File:Rasmus_Lerdorf_cropped.jpg

Page 6: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

1997 - PHP 3

● Rewrote parser● Zend Technologies

http://en.wikipedia.org/wiki/File:Zeev_Suraski_2005_cropped.jpghttp://en.wikipedia.org/wiki/File:Andi_Gutmans_1.jpg

Page 7: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

2000 - PHP 4

● Zend Engine 1.0● Big improvements● Very basic “OO”

Page 8: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

2004 - PHP 5

● Zend Engine 2.0● Better OO● PDO● Performance increase● Adoption slow…

Page 9: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

So… what is PHP?

Page 10: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

What is PHP?

1

2

3

4

Page 11: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

<?php

echo "Hello world";

From “Hello World”...

Page 12: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

<?php

echo "Hello, " . $_GET['name'];

From “Hello World”...

Page 13: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

… to Facebook

https://twitter.com/feross/status/459259593630433280

Page 14: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

PHP powers

82%of the web

Source: http://w3techs.com/technologies/overview/programming_language/all

Page 15: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Who uses PHP...

Page 16: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

The Hate

Page 17: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● http://phpsadness.com/● http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/● http://blog.codinghorror.com/the-php-singularity/● http://webonastick.com/php.html● http://aurelio.audero.it/blog/2014/02/05/why-people-think-php-sucks/● https://maurus.net/resources/programming-languages/php/● http://www.bitstorm.org/edwin/en/php/● https://teamtreehouse.com/forum/why-php-sucks● http://www.reddit.com/r/PHP/.../why_do_so_many_developers_hate_php/● http://www.quora.com/.../Is-PHP-a-badly-designed-programming-language● etc.

Some People Don’t Like PHP

Page 18: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Some reasons...

Page 19: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Some reasons...

● Was not “designed”

Page 20: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Some reasons...

● Was not “designed”● Many inconsistencies

○ in_array($needle, $haystack)○ strstr($haystack, $needle)○ htmlentities() … html_entity_decode()

Page 21: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Some reasons...

● Was not “designed”● Many inconsistencies● Loosely typed

○ int foo = 0;○ $foo = 0;

Page 22: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Some reasons...

● Was not “designed”● Many inconsistencies● Loosely typed● Seen as “amateur”

Page 23: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Some reasons...

● Was not “designed”● Many inconsistencies● Loosely typed● Seen as “amateur”● T_PAAMAYIM_NEKUDOTAYIM

Page 24: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Some reasons...

● Was not “designed”● Many inconsistencies● Loosely typed● Seen as “amateur”● T_PAAMAYIM_NEKUDOTAYIM● php.internals

Page 25: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Haters gonna hate.

So…

● Use the right tool● Use what is comfortable● If you like using PHP, ignore the hate

Page 26: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

What made PHP work?

Page 27: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● Easy to learn

Why it works...

Page 28: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● Easy to learn● Loosely typed

Why it works...

Page 29: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● Easy to learn● Loosely typed● Easy to install

Why it works...

Page 30: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● Easy to learn● Loosely typed● Easy to install● Rise of the CMS

Why it works...

Page 31: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● Easy to learn● Loosely typed● Easy to install● Rise of the CMS● Gets the job done

Why it works...

Page 32: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Then it all changed...

Rob Allen: https://www.flickr.com/photos/akrabat/54795045

Page 33: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● PHP 5.3 features

PHP keeps getting MORE awesome

Page 34: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● PHP 5.3 features● PHP 5.4 + 5.5 features

PHP keeps getting MORE awesome

Page 35: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● PHP 5.3 features● PHP 5.4 + 5.5 features● PHP-FIG

PHP keeps getting MORE awesome

Page 36: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● PHP 5.3 features● PHP 5.4 + 5.5 features● PHP-FIG● Rise of the community

PHP keeps getting MORE awesome

Page 37: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● PHP 5.3 features● PHP 5.4 + 5.5 features● PHP-FIG● Rise of the community● Composer

PHP keeps getting MORE awesome

Page 38: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

The Future of PHP…?

Page 39: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Things to look out for...

Page 40: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● HHVM

Things to look out for...

Page 41: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● HHVM● Zephir

Things to look out for...

Page 42: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● HHVM● Zephir● PHPNG

Things to look out for...

Page 43: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

● HHVM● Zephir● PHPNG● Growing community!

Things to look out for...

Page 44: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Unstoppable Train

http://unsplash.com/post/71169964532/download-by-kholodnitskiy-maksim

Page 45: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

Questions?

Page 46: The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

James Titcumbwww.jamestitcumb.comwww.protected.co.ukwww.phphants.co.uk@asgrim

Thanks for watching!