Successfully reported this slideshow.

More Related Content

More from James Titcumb

Related Books

Free with a 14 day trial from Scribd

See all

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!

×