O	
  PHP,	
  Where	
  Art	
  Thou?	
  


Pierre	
  Joye	
  
2012/09/08	
  
Pierre	
  Joye	
  
@pierrejoye	
  
pierre@php.net	
  




                          PHP	
  Core	
  developer	
  
  Contributors	
  to	
  numerous	
  OSS	
  projects	
  
           Works	
  with	
  the	
  ex-­‐Dark	
  Force	
  
                                  Portability	
  fan	
  
Any	
  PHP	
  users	
  around?	
  
Which	
  version?	
  
Contributors	
  already?	
  
The	
  Bad	
  
•  Slow	
  release	
  cycles	
  

•  Unsecure	
  

•  Hard	
  or	
  impossible	
  to	
  contribute	
  

•  Dicatorship,	
  egomaniacs,	
  nein	
  sager	
  

•  Closed	
  community	
  
The	
  Good	
  
RFC	
  process	
  
                 hSps://wiki.php.net/rfc/voUng	
  

•  Anyone	
  can	
  submit	
  a	
  RFC	
  

•  Votes	
  
    –  Communi;es	
  

    –  	
  php.net	
  members	
  

•  If	
  accepted,	
  released	
  in	
  php-­‐next	
  (<=	
  1	
  year)	
  
Release	
  Process	
  
•  Security	
  only	
  releases	
  

•  Bugs	
  fixes	
  releases	
  every	
  1-­‐2	
  months	
  (~)	
  

•  Yearly	
  releases	
  with	
  new	
  features	
  (i.e.	
  5.4)	
  

       hSps://wiki.php.net/rfc/releaseprocess	
  
On	
  Security	
  
Some	
  Security	
  Team	
  Members	
  
2012/01	
  to	
  2012/04	
  	
  

Xinchen	
  Hui	
           126	
  	
  



             83	
     Very	
  Old	
  guy	
  }:-­‐>	
  


Gustavo	
  Andre	
   79	
  
dos	
  Santos	
  Lopes	
  
             73	
     Not	
  Very	
  Old	
  guy	
  
                               (yet)	
  



Anatoliy	
  Belsky	
  62	
  
No	
  more	
  excuses!	
  

contribute! 	
  
David	
  Soria	
  Parra	
  
hSp://pear.php.net/user/dsp/wishlist	
  
              @dsp_	
  
5.5	
  
PBKDF2	
  

    hSps://wiki.php.net/rfc/hash_pbkdf2	
  


hash_pbkdf2('sha256',	
  'passwordP§%P4s$',	
  'saltSALTsaltSALTsaltSALTsaltSALTsalt',	
  4096,	
  40)	
  



           See	
  also:	
  
           hSp://www.iep.org/rfc/rfc2898.txt	
  
           hSp://csrc.nist.gov/publicaUons/nistpubs/800-­‐132/nist-­‐sp800-­‐132.pdf	
  
           hSp://en.wikipedia.org/wiki/PBKDF2	
  
Simple	
  Password	
  API	
  
hPps://wiki.php.net/rfc/password_hash	
  

                     	
  
GePer/SePer	
  
hPps://wiki.php.net/rfc/propertygetsetsyntax-­‐as-­‐implemented	
  


                                	
  
Generator	
  
hSps://wiki.php.net/rfc/generators   	
  
Generator	
  
Generator	
  
Generator	
  
Generator	
  
foreach	
  and	
  list	
  
YAAR!	
  

(array_column)	
  
Fixing	
  empty()	
  



empty($this-­‐>getFriends())	
  
$INTL-­‐>awesomeness++;	
  



    •    IntlCalendar	
  
    •    IntlGregorianCalendar	
  
    •    IntlTimeZone	
  
    •    IntlBreakIterator	
  
    •    IntlRuleBasedBreakIterator	
  
    •    IntlCodePointBreakIterator	
  
Fully	
  qualified	
  classname	
  
Parameter	
  skipping	
  

function create_query(
      $where,
      $order_by,
      $join_type='',
      $execute = false,
      $report_errors = true) {
  ...
}
Parameter	
  skipping	
  


create_query("deleted=0",
"name", default, default,
         false);
Finally!	
  

hSps://wiki.php.net/rfc/finally	
  
QuesUons?	
  

Keynote: O PHP, Where Art Thou?