devcon hh-2012
DESCRIPTION
About php's past, present, changes and what's coming in the next release.TRANSCRIPT
![Page 1: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/1.jpg)
O PHP, Where Art Thou?
Pierre Joye2012/09/08
![Page 2: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/2.jpg)
Pierre Joye@[email protected]
PHP Core developerContributors to numerous OSS projects
Works with the ex-Dark ForcePortability fan
![Page 3: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/3.jpg)
Any PHP users around?
![Page 4: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/4.jpg)
Which version?
![Page 5: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/5.jpg)
Contributors already?
![Page 6: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/6.jpg)
The Bad
![Page 7: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/7.jpg)
• Slow release cycles
• Unsecure
• Hard or impossible to contribute
• Dicatorship, egomaniacs, nein sager
• Closed community
![Page 8: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/8.jpg)
The Good
![Page 9: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/9.jpg)
RFC processhttps://wiki.php.net/rfc/voting
• Anyone can submit a RFC
• Votes
– Communities
– php.net members
• If accepted, released in php-next (<= 1 year)
![Page 10: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/10.jpg)
Release Process• Security only releases
• Bugs fixes releases every 1-2 months (~)
• Yearly releases with new features (i.e. 5.4)
https://wiki.php.net/rfc/releaseprocess
![Page 11: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/11.jpg)
On Security
![Page 12: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/12.jpg)
Some Security Team Members
![Page 13: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/13.jpg)
Xinchen Hui
Very Old guy }:->
Gustavo Andre dos Santos Lopes
Not Very Old guy(yet)
Anatoliy Belsky
126
83
79
73
62
1
2
3
4
5
2012/01 to 2012/04
![Page 14: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/14.jpg)
No more excuses!
contribute!
![Page 15: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/15.jpg)
![Page 16: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/16.jpg)
![Page 17: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/17.jpg)
![Page 19: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/19.jpg)
![Page 20: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/20.jpg)
![Page 21: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/21.jpg)
5.5
![Page 22: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/22.jpg)
PBKDF2
https://wiki.php.net/rfc/hash_pbkdf2
hash_pbkdf2('sha256', 'passwordP§%P4s$', 'saltSALTsaltSALTsaltSALTsaltSALTsalt', 4096, 40)
See also:http://www.ietf.org/rfc/rfc2898.txthttp://csrc.nist.gov/publications/nistpubs/800-132/nist-sp800-132.pdfhttp://en.wikipedia.org/wiki/PBKDF2
![Page 23: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/23.jpg)
Simple Password API
https://wiki.php.net/rfc/password_hash
![Page 24: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/24.jpg)
Getter/Setterhttps://wiki.php.net/rfc/propertygetsetsyntax-as-implemented
![Page 26: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/26.jpg)
Generator
![Page 27: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/27.jpg)
Generator
![Page 28: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/28.jpg)
Generator
![Page 29: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/29.jpg)
Generator
![Page 30: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/30.jpg)
foreach and list
![Page 31: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/31.jpg)
YAAR!
(array_column)
![Page 32: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/32.jpg)
Fixing empty()
empty($this->getFriends())
![Page 33: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/33.jpg)
$INTL->awesomeness++;
• IntlCalendar• IntlGregorianCalendar• IntlTimeZone• IntlBreakIterator• IntlRuleBasedBreakIterator• IntlCodePointBreakIterator
![Page 34: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/34.jpg)
Fully qualified classname
![Page 35: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/35.jpg)
Parameter skipping
function create_query($where, $order_by,$join_type='', $execute = false,
$report_errors = true) { ... }
![Page 36: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/36.jpg)
create_query("deleted=0", "name", default, default,
false);
Parameter skipping
![Page 37: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/37.jpg)
Finally!
https://wiki.php.net/rfc/finally
![Page 38: Devcon hh-2012](https://reader033.vdocuments.us/reader033/viewer/2022061210/549077bdb47959b23e8b458f/html5/thumbnails/38.jpg)
Questions?