Webdevcon pierrejoye-php54-and-other

Post on 17-Dec-2014

1.597 views 1 download

Tags:

description

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

Transcript of Webdevcon pierrejoye-php54-and-other

www.web-developer-conference.de

Pierre JoyePHP / Microsoft OSTC

PHP 5.4 and nextWhat’s new in PHP?

www.web-developer-conference.de

Pierre Joye@pierrejoye

pierre@php.net

IRC Freenode, EFNet

@Pierre

www.web-developer-conference.de

Pierre JoyePHP (Core) developer

(almost) crazy guy behind PHP/Windows

Portability Fanatic

www.web-developer-conference.de

php.net?(da passiert heh nichts, oder doch?)

www.web-developer-conference.de

Voting process

• Project leaders can vote• Clear and open processes and votes• https://wiki.php.net/rfc/voting• End of the trolls (almost)

www.web-developer-conference.de

RFC

“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.

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.”

Felipe Pena, Etienne Kneuss, Stanislav Malyshev, Gustavo André dos Santos Lopes, David Soria Parra, Christian Stocker, Rob Richards, Pierre Joye, Zeev Suraski, Ilia Alshanetsky

https://wiki.php.net/rfc/releaseprocess

www.web-developer-conference.de

RFC

• Release cycle• BC policy• Security release policy

www.web-developer-conference.de

Release cycle

5.4 • 2011/11

5.5 • 2012/11

6.0 • 2013/11

www.web-developer-conference.de

5.4

5.4.1 5.4.3 …5.4.2 5.4.5 5.4.14 EOL

Release cycle2011 2012 2013

5.5

5.5.1 5.5.35.5.2 …

2014

6.0

6.0.1 6.0.36.0.2 6.0.4 …

www.web-developer-conference.de

Backward Compatibility

5.4

5.5

6.0

BC Break not allowed

BC Break allowed (if desired)

www.web-developer-conference.de

php?(da passiert heh nichts, oder doch?)

www.web-developer-conference.de

“All PHP users should note that the PHP 5.2 series is NOT supported anymore.”

www.php.net

www.web-developer-conference.de

“If you aren’t running PHP 5.3 on Windows, you’re lucky…because you have a 40% performance boost coming.” Rasmus Lerdorf

Seattle PHP Meetup/October 2011

www.web-developer-conference.de5.4

www.web-developer-conference.de

Speed!

www.web-developer-conference.de

+55%raw performance improvements

www.web-developer-conference.de

23.759

www.web-developer-conference.de

15.992

www.web-developer-conference.de

Bench source

microbench.php

php’s src Zend/micro-bench.php

or via svn:

http://svn.php.net/viewvc/php/php-src/branches/PHP_5_4/Zend/micro_bench.php

www.web-developer-conference.de

Speed!(for the oldy)

www.web-developer-conference.de

APC + IgBinary

www.web-developer-conference.de

www.web-developer-conference.de

Drupal 7

www.web-developer-conference.de

I don’t want no web server(or why in the world should I use Apache, IIS or nginx ;-)

www.web-developer-conference.de

www.web-developer-conference.de

www.web-developer-conference.de

Laziness!(or the short array syntax)

www.web-developer-conference.de

www.web-developer-conference.de

Arrrray-ify(array dereferencing, save me a line)

www.web-developer-conference.de

(reminder: References are not pointers)

www.web-developer-conference.de

www.web-developer-conference.de

www.web-developer-conference.de

Indirect method call

www.web-developer-conference.de

www.web-developer-conference.de

What we were all waiting for!(goto is already here btw)

www.web-developer-conference.de

Binary format

www.web-developer-conference.de

www.web-developer-conference.de

Traits

www.web-developer-conference.de

Traits?  ”it is just compiler assisted copy and paste”

Stefan Marr

http://marc.info/?l=php-internals&m=128993895520538&w=2

www.web-developer-conference.de

Evolution(s)

www.web-developer-conference.de

Day 1

www.web-developer-conference.de

www.web-developer-conference.de

Day 2

www.web-developer-conference.de

www.web-developer-conference.de

Day 3

www.web-developer-conference.de

www.web-developer-conference.de

www.web-developer-conference.de

(and correct implementation)Multiple traits

www.web-developer-conference.de

www.web-developer-conference.de

Duplication Extends Traits65

70

75

80

85

90

Traits vs Extends vs Copy/Paste

www.web-developer-conference.de

Use Traits!

www.web-developer-conference.de

• MySQLnd– Plugins

• Session wrapper OO support– https://wiki.php.net/rfc/session-oo

• Upload progress for session data– https://wiki.php.net/rfc/session_upload_progress

• JsonSerializable interface• Dtrace support

www.web-developer-conference.de

PHP needs you!

www.web-developer-conference.de

• Test PHP 5.4 beta/RC releases–Using your apps–Run the tests suite

• Report bugs• Ask features

www.web-developer-conference.de

resources

• Script used in this talk https://github.com/pierrejoye/webdevcon2011

• 5.4 https://wiki.php.net/todo/php54• 5.4 migration guide (work in progress)

http://de3.php.net/manual/en/migration54.php• Built-in webserver RFC&doc

• https://wiki.php.net/rfc/builtinwebserver• http://

php.net/manual/en/features.commandline.webserver.php

www.web-developer-conference.de

Resources

• Other RFCs:– https://wiki.php.net/rfc

• Traits documentation– http://www.php.net/traits