PHP : Retour vers le futur !



« Vous savez, l'histoire, elle va changer. »
                              Marty Mc Fly à ...
PHP : Retour vers le futur !

                   Plan

1. ...Le passé
2. Le paradoxe temporel et ses conséquences
3. Le fu...
PHP : Retour vers le futur !


                        ...Le passé


« Par tous les pépins de la pomme de Newton, que s'es...
PHP : Retour vers le futur !

        Quelques dates

●   1995 : Naissance du langage.
●   1996 : PHP 2 (+ 1 an).
●   1998...
PHP : Retour vers le futur !

     Les principales nouveautés de PHP 6

●   Ajout de l'instruction GOTO.
●   Fermetures et...
PHP : Retour vers le futur !

       Le support Unicode dans PHP 6

●   Utilisation de UTF-16.
●   Mis en œuvre au niveau ...
PHP : Retour vers le futur !

     Les effets de bords induit par PHP 6

●   Tout doit être fait en double.
●   PHP 6 est ...
PHP : Retour vers le futur !

La politique de développement de PHP 6

●   Le trunk est dédié au développement de
    PHP 5...
PHP : Retour vers le futur !



Le paradoxe temporel et ses conséquences

  « Cette rencontre créerait un paradoxe tempore...
PHP : Retour vers le futur !

    2010 : L'année du paradoxe temporel
●   Le développement de PHP 6 dure depuis 5 ans
    ...
PHP : Retour vers le futur !

                  La réaction...

●   Le 11 mars 2010, Rasmus Lerdorf annonce
    officielle...
PHP : Retour vers le futur !

                       ... en...

●   La prochaine version majeure de PHP est
    développée...
PHP : Retour vers le futur !

                       ... chaîne...

●   Les pratiques de développement inaugurées
    par ...
PHP : Retour vers le futur !

    ... ne détruit finalement pas l'Univers...

●   Les décisions prisent portent leurs frui...
PHP : Retour vers le futur !
    ... même s'il y a encore des problèmes
●   Il n'y a aucune discussion publique au sujet d...
PHP : Retour vers le futur !



                    Le futur...
             « Tout ça c'est du passé. »
             « Du...
PHP : Retour vers le futur !

           PHP sera plus « propre »

●   Suppression de register_globals.
●   Suppression de...
PHP : Retour vers le futur !

                 PHP sera plus rapide

●   Des performances en hausse grâce :
    –   À des ...
PHP : Retour vers le futur !

              PHP sera plus puissant

●   Trait
●   Dtrace
●   FPM
●   Déréférencement des t...
PHP : Retour vers le futur !
                             Les « traits »
●   Injection dynamique de méthodes dans une
    ...
PHP : Retour vers le futur !

                       DTrace

●   Outil de traçabilité conçu par Sun
    Microsystems.
●   ...
PHP : Retour vers le futur !

                         FPM

●   Nouveau module CGI (alternative à FastCGI).
●   Adapté aux...
PHP : Retour vers le futur !
           Déréférencement des tableaux
●   Permet d'accéder à un élément de tableau à
    pa...
PHP : Retour vers le futur !

        Contrôle du type des arguments

●   Possible d'indiquer le type numérique attendu
  ...
PHP : Retour vers le futur !

    PHP sera (encore) plus professionnel

●   Le langage est actuellement en cours de
    pr...
PHP : Retour vers le futur !

                          Conclusion
         « Le futur n'est jamais écrit à l'avance, pour...
PHP : Retour vers le futur !

                            Questions ?

    « Mon but, c'est d'élargir notre perception de ...
PHP : Retour vers le futur !

                 Remerciements

●   Nicolas Lœuillet pour l'organisation de l'apéro.
●   SQL...
PHP : Retour vers le futur !




                       Frédéric Hardy

frederic.hardy@mageekbox.net  http://blog.mageekbo...
Upcoming SlideShare
Loading in...5
×

PHP : retour vers le futur !

2,457

Published on

Conférence donné lors de l'apéro PHP lillois du 11 juin 2010, au sujet du futur de PHP suite à l'arrêt du développement de PHP6.
Pourquoi ? Quelles ont été les réactions de la communauté des contributeurs ? Que se passe t'il maintenant ? À quoi ressemblera la prochaine version de PHP ?
Autant de questions auxquelles j'essaye de répondre dans cette présentation.
Un complément d'informations sur l'apéro en lui-même est disponible à l'adresse http://blog.mageekbox.net/?post/2010/06/12/%24aperoPhp

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,457
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

PHP : retour vers le futur !

  1. 1. PHP : Retour vers le futur ! « Vous savez, l'histoire, elle va changer. » Marty Mc Fly à M. Strickland – Retour vers le futur Apéro PHP du 11 juin 2010 Frédéric Hardy frederic.hardy@mageekbox.net http://blog.mageekbox.net @mageekguy
  2. 2. PHP : Retour vers le futur ! Plan 1. ...Le passé 2. Le paradoxe temporel et ses conséquences 3. Le futur... 4. Conclusion 2
  3. 3. PHP : Retour vers le futur ! ...Le passé « Par tous les pépins de la pomme de Newton, que s'est-il passé ici ? » Emmet Brown à Marty Mc Fly – Retour vers le futur II 3
  4. 4. PHP : Retour vers le futur ! Quelques dates ● 1995 : Naissance du langage. ● 1996 : PHP 2 (+ 1 an). ● 1998 : PHP 3 (+ 2 ans). ● 2000 : PHP 4 (+ 2 ans). ● 2004 : PHP 5 (+ 4 ans). ● 2005 : Formalisation de PHP 6. ● 2009 : PHP 5.3 (+ 5 ans). 4
  5. 5. PHP : Retour vers le futur ! Les principales nouveautés de PHP 6 ● Ajout de l'instruction GOTO. ● Fermetures et fonctions anonymes. ● Résolution statique à la volée. ● Contrôle du type (arguments et valeur de retour). ● Espaces de nommage. ● Support natif d'Unicode. 5
  6. 6. PHP : Retour vers le futur ! Le support Unicode dans PHP 6 ● Utilisation de UTF-16. ● Mis en œuvre au niveau du source et des données. ● Conversion à la volée de l'ensemble du source. ● Complique le développement de PHP. ● Gourmand en ressource. 6
  7. 7. PHP : Retour vers le futur ! Les effets de bords induit par PHP 6 ● Tout doit être fait en double. ● PHP 6 est plus complexe que PHP 5. ● PHP 6 est plus lent que PHP 5. ➔ Charge de travail plus importante pour les développeurs. ➔ Désintérêt des contributeurs pour PHP 6. ➔ Concentration sur PHP 5. 7
  8. 8. PHP : Retour vers le futur ! La politique de développement de PHP 6 ● Le trunk est dédié au développement de PHP 5. ● PHP 6 dispose de sa propre branche. ● PHP 6 est développé parallélement à PHP 5. ● Tout ajout dans PHP 5 doit être intégré à PHP 6 pour assurer la compatibilité ascendante. 8
  9. 9. PHP : Retour vers le futur ! Le paradoxe temporel et ses conséquences « Cette rencontre créerait un paradoxe temporel dont l'issue engendrerait une réaction en chaîne qui pourrait déchirer le tissu-même du continuum espace-temps, provoquant la destruction totale de l'univers. » Emmet Brown à Marty Mc Fly – Retour vers le futur II 9
  10. 10. PHP : Retour vers le futur ! 2010 : L'année du paradoxe temporel ● Le développement de PHP 6 dure depuis 5 ans et il stagne. ● PHP 5.3 embarque la plupart des fonctionnalités majeures de PHP 6. – Ajout de l'instruction GOTO. – Fermetures et fonctions anonymes. – Résolution statique à la volée. – Espaces de nommage. ● PHP 5 évolue (contrôle de type, traits...). 10
  11. 11. PHP : Retour vers le futur ! La réaction... ● Le 11 mars 2010, Rasmus Lerdorf annonce officiellement l'abandon du développement de PHP 6. ● 5 ans de développement partent à la poubelle... ou pas ! 11
  12. 12. PHP : Retour vers le futur ! ... en... ● La prochaine version majeure de PHP est développée dans la continuité de PHP 5.3. ● Elle n'est plus développée à partir d'une branche parallèle mais à partir du trunk. ● Tout à été fait pour que le développement reprenne dans les meilleurs délais. 12
  13. 13. PHP : Retour vers le futur ! ... chaîne... ● Les pratiques de développement inaugurées par PHP 5.3 sont reprises : – Tandem de gestionnaires de version. – Utilisation des Request for Comment (RFC). ● Il y a une réelle volonté de raccourcir les cycles de développement. 13
  14. 14. PHP : Retour vers le futur ! ... ne détruit finalement pas l'Univers... ● Les décisions prisent portent leurs fruits : – Les développeurs sont à nouveau motivés. – Ils travaillent. 14
  15. 15. PHP : Retour vers le futur ! ... même s'il y a encore des problèmes ● Il n'y a aucune discussion publique au sujet du support d'Unicode. ● Lukas Kahwe Smith a quitté le projet. ● La communauté des contributeurs a toujours un problème de communication. ● Il n'y a aucune planification. ● Le trunk n'est pas représentatif de la prochaine version. ● Le nom de la prochaine version est inconnu. 15
  16. 16. PHP : Retour vers le futur ! Le futur... « Tout ça c'est du passé. » « Du futur, vous voulez dire. » « Si tu préfères. » Dialogue entre Emmet Brown et Marty Mc Fly – Retour vers le futur II 16
  17. 17. PHP : Retour vers le futur ! PHP sera plus « propre » ● Suppression de register_globals. ● Suppression des magic_quotes. ● Suppression des fonctions ereg_*(). ● Suppression du safe_mode. ● Correction de bugs. ● Suppression des fichiers devenus inutiles. 17
  18. 18. PHP : Retour vers le futur ! PHP sera plus rapide ● Des performances en hausse grâce : – À des optimisations au niveau du Zend Engine. – À la mise en place d'API plus efficace. 18
  19. 19. PHP : Retour vers le futur ! PHP sera plus puissant ● Trait ● Dtrace ● FPM ● Déréférencement des tableaux en valeur de retour des fonctions/méthodes. ● Contrôle du type des arguments. ● Etc. 19
  20. 20. PHP : Retour vers le futur ! Les « traits » ● Injection dynamique de méthodes dans une classe. trait jsonSerializable { function toJSON() { return json_encode($this->getJSONProperties()); } public abstract function getJSONProperties(); } class A { use jsonSerializable; ... } class B { use jsonSerializable; ... } $a = new A(uniqid(), array(uniqid(), uniqid())); $aJSON = $a->toJSON(); $b = new A(uniqid(), uniqid()); $bJSON = $b->toJSON(); 20
  21. 21. PHP : Retour vers le futur ! DTrace ● Outil de traçabilité conçu par Sun Microsystems. ● Permet de tracer en temps réel l'éxécution d'un script. ● Même en production. ● Peu de pertes de performances. ● Utilise le langage D. 21
  22. 22. PHP : Retour vers le futur ! FPM ● Nouveau module CGI (alternative à FastCGI). ● Adapté aux sites à fort trafic. ● Sécurisé. ● Offre une gestion fine des processus. ● Garde la trace des scripts lents. ● Etc. 22
  23. 23. PHP : Retour vers le futur ! Déréférencement des tableaux ● Permet d'accéder à un élément de tableau à partir d'un appel de fonction/méthode : function returnArray(){ return array(uniqid(), uniqid(), uniqid()); } echo returnArray()[1]; class toto { protected $tableau = array(1, 2.3); public function truc() { return $this->tableau; } } $toto = new toto(); var_dump($toto->truc()[1]); // float(2.3) $toto->array[] = $toto; var_dump($toto->truc()[2]->truc()[2]->tableau[0]); // int(1) 23
  24. 24. PHP : Retour vers le futur ! Contrôle du type des arguments ● Possible d'indiquer le type numérique attendu pour les arguments de fonctions/méthodes. ● Conversion à la volée pour correspondre au type demandé. ● Génération d'une erreur si la conversion entraîne une perte de précision. function typeJuggling(int $int, float $float, array $array, aClass $object) { ... } 24
  25. 25. PHP : Retour vers le futur ! PHP sera (encore) plus professionnel ● Le langage est actuellement en cours de professionnalisation. – Publication. – Compétences en hausse sur le marché de l'emploi. ● La tendance va s'amplifier. – Les « frameworks » populaires migrent vers PHP 5.3. – Le langage évolue pour répondre aux besoins du marché. 25
  26. 26. PHP : Retour vers le futur ! Conclusion « Le futur n'est jamais écrit à l'avance, pour personne. » Emmet Brown à Marty Mc Fly – Retour vers le futur III ● PHP 6 n'était pas le futur. ● PHP 5 était le futur. ● Le développement a repris sur des bases plus saines et les contributeurs sont motivés. ● Le langage évolue et se professionnalise. ● Le langage sera ce que nous en faisons. 26
  27. 27. PHP : Retour vers le futur ! Questions ? « Mon but, c'est d'élargir notre perception de l'humanité, d'où nous venons, où nous allons, les soubresauts et les péripéties, les périls et les promesses, peut-être même trouver une réponse à cette éternelle question : Pourquoi ? » Emmet Brown à Marty Mc Fly – Retour vers le futur II 27
  28. 28. PHP : Retour vers le futur ! Remerciements ● Nicolas Lœuillet pour l'organisation de l'apéro. ● SQL Technologies pour la première tournée. ● Jean-Marc Fontaine pour la logistique. ● Robert Zemeckis, pour « Retour vers le futur ». 28
  29. 29. PHP : Retour vers le futur ! Frédéric Hardy frederic.hardy@mageekbox.net http://blog.mageekbox.net @mageekguy 29
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×