The State of PHP 2014
James Titcumb
Portsmouth Linux User Group
21st June 2014
James Titcumb
www.jamestitcumb.com
www.protected.co.uk
www.phphants.co.uk
@asgrim
Who is this guy?
Who are you?
A brief history...
1994-1995 - PHP/FI 1.0
● Basic functionality
● Solved a problem
● Simpler than Perl
http://en.wikipedia.org/wiki/File:Rasm...
1997 - PHP 3
● Rewrote parser
● Zend Technologies
http://en.wikipedia.org/wiki/File:Zeev_Suraski_2005_cropped.jpg
http://e...
2000 - PHP 4
● Zend Engine 1.0
● Big improvements
● Very basic “OO”
2004 - PHP 5
● Zend Engine 2.0
● Better OO
● PDO
● Performance increase
● Adoption slow…
So… what is PHP?
What is PHP?
1
2
3
4
<?php
echo "Hello world";
From “Hello World”...
<?php
echo "Hello, " . $_GET['name'];
From “Hello World”...
… to Facebook
https://twitter.com/feross/status/459259593630433280
PHP powers
82%of the web
Source: http://w3techs.com/technologies/overview/programming_language/all
Who uses PHP...
The Hate
● http://phpsadness.com/
● http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
● http://blog.codinghorror.com/the-p...
Some reasons...
Some reasons...
● Was not “designed”
Some reasons...
● Was not “designed”
● Many inconsistencies
○ in_array($needle, $haystack)
○ strstr($haystack, $needle)
○ ...
Some reasons...
● Was not “designed”
● Many inconsistencies
● Loosely typed
○ int foo = 0;
○ $foo = 0;
Some reasons...
● Was not “designed”
● Many inconsistencies
● Loosely typed
● Seen as “amateur”
Some reasons...
● Was not “designed”
● Many inconsistencies
● Loosely typed
● Seen as “amateur”
● T_PAAMAYIM_NEKUDOTAYIM
Some reasons...
● Was not “designed”
● Many inconsistencies
● Loosely typed
● Seen as “amateur”
● T_PAAMAYIM_NEKUDOTAYIM
●...
Haters gonna hate.
So…
● Use the right tool
● Use what is comfortable
● If you like using PHP, ignore the hate
What made PHP work?
● Easy to learn
Why it works...
● Easy to learn
● Loosely typed
Why it works...
● Easy to learn
● Loosely typed
● Easy to install
Why it works...
● Easy to learn
● Loosely typed
● Easy to install
● Rise of the CMS
Why it works...
● Easy to learn
● Loosely typed
● Easy to install
● Rise of the CMS
● Gets the job done
Why it works...
Then it all changed...
Rob Allen: https://www.flickr.com/photos/akrabat/54795045
● PHP 5.3 features
PHP keeps getting MORE awesome
● PHP 5.3 features
● PHP 5.4 + 5.5 features
PHP keeps getting MORE awesome
● PHP 5.3 features
● PHP 5.4 + 5.5 features
● PHP-FIG
PHP keeps getting MORE awesome
● PHP 5.3 features
● PHP 5.4 + 5.5 features
● PHP-FIG
● Rise of the community
PHP keeps getting MORE awesome
● PHP 5.3 features
● PHP 5.4 + 5.5 features
● PHP-FIG
● Rise of the community
● Composer
PHP keeps getting MORE awesome
The Future of PHP…?
Things to look out for...
● HHVM
Things to look out for...
● HHVM
● Zephir
Things to look out for...
● HHVM
● Zephir
● PHPNG
Things to look out for...
● HHVM
● Zephir
● PHPNG
● Growing community!
Things to look out for...
Unstoppable Train
http://unsplash.com/post/71169964532/download-by-kholodnitskiy-maksim
Questions?
James Titcumb
www.jamestitcumb.com
www.protected.co.uk
www.phphants.co.uk
@asgrim
Thanks for watching!
Upcoming SlideShare
Loading in …5
×

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

617 views
443 views

Published on

Published in: Software, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
617
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. The State of PHP 2014 James Titcumb Portsmouth Linux User Group 21st June 2014
  2. 2. James Titcumb www.jamestitcumb.com www.protected.co.uk www.phphants.co.uk @asgrim Who is this guy?
  3. 3. Who are you?
  4. 4. A brief history...
  5. 5. 1994-1995 - PHP/FI 1.0 ● Basic functionality ● Solved a problem ● Simpler than Perl http://en.wikipedia.org/wiki/File:Rasmus_Lerdorf_cropped.jpg
  6. 6. 1997 - PHP 3 ● Rewrote parser ● Zend Technologies http://en.wikipedia.org/wiki/File:Zeev_Suraski_2005_cropped.jpg http://en.wikipedia.org/wiki/File:Andi_Gutmans_1.jpg
  7. 7. 2000 - PHP 4 ● Zend Engine 1.0 ● Big improvements ● Very basic “OO”
  8. 8. 2004 - PHP 5 ● Zend Engine 2.0 ● Better OO ● PDO ● Performance increase ● Adoption slow…
  9. 9. So… what is PHP?
  10. 10. What is PHP? 1 2 3 4
  11. 11. <?php echo "Hello world"; From “Hello World”...
  12. 12. <?php echo "Hello, " . $_GET['name']; From “Hello World”...
  13. 13. … to Facebook https://twitter.com/feross/status/459259593630433280
  14. 14. PHP powers 82%of the web Source: http://w3techs.com/technologies/overview/programming_language/all
  15. 15. Who uses PHP...
  16. 16. The Hate
  17. 17. ● 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
  18. 18. Some reasons...
  19. 19. Some reasons... ● Was not “designed”
  20. 20. Some reasons... ● Was not “designed” ● Many inconsistencies ○ in_array($needle, $haystack) ○ strstr($haystack, $needle) ○ htmlentities() … html_entity_decode()
  21. 21. Some reasons... ● Was not “designed” ● Many inconsistencies ● Loosely typed ○ int foo = 0; ○ $foo = 0;
  22. 22. Some reasons... ● Was not “designed” ● Many inconsistencies ● Loosely typed ● Seen as “amateur”
  23. 23. Some reasons... ● Was not “designed” ● Many inconsistencies ● Loosely typed ● Seen as “amateur” ● T_PAAMAYIM_NEKUDOTAYIM
  24. 24. Some reasons... ● Was not “designed” ● Many inconsistencies ● Loosely typed ● Seen as “amateur” ● T_PAAMAYIM_NEKUDOTAYIM ● php.internals
  25. 25. Haters gonna hate. So… ● Use the right tool ● Use what is comfortable ● If you like using PHP, ignore the hate
  26. 26. What made PHP work?
  27. 27. ● Easy to learn Why it works...
  28. 28. ● Easy to learn ● Loosely typed Why it works...
  29. 29. ● Easy to learn ● Loosely typed ● Easy to install Why it works...
  30. 30. ● Easy to learn ● Loosely typed ● Easy to install ● Rise of the CMS Why it works...
  31. 31. ● Easy to learn ● Loosely typed ● Easy to install ● Rise of the CMS ● Gets the job done Why it works...
  32. 32. Then it all changed... Rob Allen: https://www.flickr.com/photos/akrabat/54795045
  33. 33. ● PHP 5.3 features PHP keeps getting MORE awesome
  34. 34. ● PHP 5.3 features ● PHP 5.4 + 5.5 features PHP keeps getting MORE awesome
  35. 35. ● PHP 5.3 features ● PHP 5.4 + 5.5 features ● PHP-FIG PHP keeps getting MORE awesome
  36. 36. ● PHP 5.3 features ● PHP 5.4 + 5.5 features ● PHP-FIG ● Rise of the community PHP keeps getting MORE awesome
  37. 37. ● PHP 5.3 features ● PHP 5.4 + 5.5 features ● PHP-FIG ● Rise of the community ● Composer PHP keeps getting MORE awesome
  38. 38. The Future of PHP…?
  39. 39. Things to look out for...
  40. 40. ● HHVM Things to look out for...
  41. 41. ● HHVM ● Zephir Things to look out for...
  42. 42. ● HHVM ● Zephir ● PHPNG Things to look out for...
  43. 43. ● HHVM ● Zephir ● PHPNG ● Growing community! Things to look out for...
  44. 44. Unstoppable Train http://unsplash.com/post/71169964532/download-by-kholodnitskiy-maksim
  45. 45. Questions?
  46. 46. James Titcumb www.jamestitcumb.com www.protected.co.uk www.phphants.co.uk @asgrim Thanks for watching!

×