Successfully reported this slideshow.
What’s new in PHP?<br />PHP 5.4 and next<br />Pierre Joye<br />PHP / Microsoft OSTC<br />
Pierre Joye<br />@pierrejoye<br />pierre@php.net<br />IRC Freenode, EFNet<br />@Pierre<br />
Pierre Joye<br />PHP (Core) developer<br />(almost) crazy guy behind PHP/Windows<br />Portability Fanatic<br />
php.net?<br />(da passierthehnichts, oderdoch?)<br />
Voting process<br />Project leaders can vote<br />Clear and open processes and votes<br />https://wiki.php.net/rfc/voting<...
RFC<br />“PHP releases have always been done spontaneously, in a somehow chaotic way. Individual(s) decided when a release...
RFC<br />Release cycle<br />BC policy<br />Security release policy<br />
Release cycle<br />
Release cycle<br />2011<br />2012<br />2013<br />2014<br />
Backward Compatibility<br />BC Break not allowed<br />BC Break allowed (if desired)<br />
php?<br />(da passierthehnichts, oderdoch?)<br />
“All PHP users should note that the PHP 5.2 series is NOT supported anymore.”<br />www.php.net<br />
“If you aren’t running PHP 5.3 on Windows, you’re lucky…because you have a 40% performance boost coming.”<br />RasmusLerdo...
5.4<br />
Speed!<br />
+55%<br />raw performance improvements<br />
23.759<br />
15.992<br />
Bench source<br />microbench.php<br />php’ssrcZend/micro-bench.php<br />or via svn:<br />http://svn.php.net/viewvc/php/php...
Speed!<br />(for the oldy)<br />
APC + IgBinary<br />
Drupal 7<br />
I don’t want no web server<br />(or why in the world should I use Apache, IIS or nginx  ;-)<br />
Laziness!<br />(or the short array syntax)<br />
Arrrray-ify<br />(array dereferencing, save me a line)<br />
(reminder: References are not pointers)<br />
Indirect method call<br />
What we were all waiting for!<br />(goto is already here btw)<br />
Binary format<br />
Traits<br />
Traits?  <br />”it is just compiler assisted copy and paste”<br />Stefan Marr<br />http://marc.info/?l=php-internals&m=128...
Evolution(s)<br />
Day 1<br />
Day 2<br />
Day 3<br />
Multiple traits<br />(and correct implementation)<br />
Use Traits! <br />
MySQLnd<br />Plugins<br />Session wrapper OO support<br />https://wiki.php.net/rfc/session-oo<br />Upload progress for ses...
PHP needs you!<br />
Test PHP 5.4beta/RC releases<br />Using your apps<br />Run the tests suite<br />Report bugs<br />Ask features<br />
resources<br />Script used in this talk https://github.com/pierrejoye/webdevcon2011<br />5.4 https://wiki.php.net/todo/php...
Resources<br />Other RFCs:<br />https://wiki.php.net/rfc<br />Traits documentation<br />http://www.php.net/traits<br />
Upcoming SlideShare
Loading in …5
×

Webdevcon pierrejoye-php54-and-other

2,130 views

Published on

What's up in php.net, php 5.4 &co.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Webdevcon pierrejoye-php54-and-other

  1. 1. What’s new in PHP?<br />PHP 5.4 and next<br />Pierre Joye<br />PHP / Microsoft OSTC<br />
  2. 2. Pierre Joye<br />@pierrejoye<br />pierre@php.net<br />IRC Freenode, EFNet<br />@Pierre<br />
  3. 3. Pierre Joye<br />PHP (Core) developer<br />(almost) crazy guy behind PHP/Windows<br />Portability Fanatic<br />
  4. 4. php.net?<br />(da passierthehnichts, oderdoch?)<br />
  5. 5. Voting process<br />Project leaders can vote<br />Clear and open processes and votes<br />https://wiki.php.net/rfc/voting<br />End of the trolls (almost)<br />
  6. 6. RFC<br />“PHP releases have always been done spontaneously, in a somehow chaotic way. Individual(s) decided when a release will happen and what could or could fit in. Release managers role are unclear and the way to nominate them is not clearly defined either.<br />The goals of this RFC aim to solve these issues while giving to us, our users and 3rd parties (distributions, contributors, etc.) more visibility and the ability to actually have a roadmap, or plan developments.”<br />Felipe Pena, Etienne Kneuss, StanislavMalyshev, Gustavo André dos Santos Lopes, David Soria Parra, Christian Stocker, Rob Richards, Pierre Joye, ZeevSuraski, Ilia Alshanetsky<br />https://wiki.php.net/rfc/releaseprocess<br />
  7. 7. RFC<br />Release cycle<br />BC policy<br />Security release policy<br />
  8. 8. Release cycle<br />
  9. 9. Release cycle<br />2011<br />2012<br />2013<br />2014<br />
  10. 10. Backward Compatibility<br />BC Break not allowed<br />BC Break allowed (if desired)<br />
  11. 11. php?<br />(da passierthehnichts, oderdoch?)<br />
  12. 12. “All PHP users should note that the PHP 5.2 series is NOT supported anymore.”<br />www.php.net<br />
  13. 13. “If you aren’t running PHP 5.3 on Windows, you’re lucky…because you have a 40% performance boost coming.”<br />RasmusLerdorf<br />Seattle PHP Meetup/October 2011<br />
  14. 14. 5.4<br />
  15. 15. Speed!<br />
  16. 16. +55%<br />raw performance improvements<br />
  17. 17. 23.759<br />
  18. 18. 15.992<br />
  19. 19. Bench source<br />microbench.php<br />php’ssrcZend/micro-bench.php<br />or via svn:<br />http://svn.php.net/viewvc/php/php-src/branches/PHP_5_4/Zend/micro_bench.php<br />
  20. 20. Speed!<br />(for the oldy)<br />
  21. 21. APC + IgBinary<br />
  22. 22.
  23. 23. Drupal 7<br />
  24. 24. I don’t want no web server<br />(or why in the world should I use Apache, IIS or nginx ;-)<br />
  25. 25.
  26. 26.
  27. 27. Laziness!<br />(or the short array syntax)<br />
  28. 28.
  29. 29. Arrrray-ify<br />(array dereferencing, save me a line)<br />
  30. 30. (reminder: References are not pointers)<br />
  31. 31.
  32. 32.
  33. 33. Indirect method call<br />
  34. 34.
  35. 35. What we were all waiting for!<br />(goto is already here btw)<br />
  36. 36. Binary format<br />
  37. 37.
  38. 38. Traits<br />
  39. 39. Traits?  <br />”it is just compiler assisted copy and paste”<br />Stefan Marr<br />http://marc.info/?l=php-internals&m=128993895520538&w=2<br />
  40. 40. Evolution(s)<br />
  41. 41. Day 1<br />
  42. 42.
  43. 43. Day 2<br />
  44. 44.
  45. 45. Day 3<br />
  46. 46.
  47. 47.
  48. 48. Multiple traits<br />(and correct implementation)<br />
  49. 49.
  50. 50.
  51. 51. Use Traits! <br />
  52. 52. MySQLnd<br />Plugins<br />Session wrapper OO support<br />https://wiki.php.net/rfc/session-oo<br />Upload progress for session data<br />https://wiki.php.net/rfc/session_upload_progress<br />JsonSerializable interface<br />Dtrace support<br />
  53. 53. PHP needs you!<br />
  54. 54. Test PHP 5.4beta/RC releases<br />Using your apps<br />Run the tests suite<br />Report bugs<br />Ask features<br />
  55. 55. resources<br />Script used in this talk https://github.com/pierrejoye/webdevcon2011<br />5.4 https://wiki.php.net/todo/php54<br />5.4 migration guide (work in progress) http://de3.php.net/manual/en/migration54.php<br />Built-in webserver RFC&doc<br />https://wiki.php.net/rfc/builtinwebserver<br />http://php.net/manual/en/features.commandline.webserver.php<br />
  56. 56. Resources<br />Other RFCs:<br />https://wiki.php.net/rfc<br />Traits documentation<br />http://www.php.net/traits<br />

×