Nouvelle version, PHP 5.4   Versions de PHP   Arnaud Lemercier   Communauté   Performance                      arnaud@w...
< Versions de PHP />De Personal Home Page / Form Interpreter     à PHP Hypertext Preprocessor
Historique de PHP   1995 - PHP/FI créé par Rasmus Lerdorf   1998 - PHP 3.0    Réécriture par Andi Gutmans et Zeev Surask...
PHP 5.4 Version Mineure ou Majeure ?    MAJEURE                        MINEURE   Rupture de compatibilité      Nouvelles...
< Communauté />
Restructuration de la communauté   RFC pour chaque nouvelles fonctionnalités    https://wiki.php.net/rfc/voting   Un nou...
< Performance />Une réécriture en profondeur
Performances nettement améliorées« Nous avons réécrit certaines parties du moteur PHP pour quilconsomme moins de mémoire e...
Performance PHP 5.3 > PHP 5.4Drupal            Zend Framework   Micro Bench+7% requêtes      +21% requêtes    -50% tps d’e...
< Fonctionnalités />Les nouveaux joujoux des développeurs
Short Open Tags assumé     <?= $login ?>
Serveur web de développement test intégré   Serveur web uniquement pour des tests   Possibilité de définir un fichier de...
Type Callable / Closure / Fonction anonyme
Short Array Syntax<?PHP $array = [val1, val2] ; ?>
Arrays deferencing <?= fnc() [index] ?>
Appel direct de méthode dinstance    <?= (new Obj()) → method() ?>
Invocations statiques dynamiques (call_user_func)           <?PHP controller::{$action}() ; ?>
Notation Binaire<?PHP $foo = 0b1100101010 ; ?>
Traits / Héritage multiple horizontal (1/4)                         Réutilisation de fonctionnalité                      ...
Traits / Héritage multiple horizontal (2/4)               Attention à la déclaration de propriétés               dans les ...
Traits / Héritage multiple horizontal (3/4)
Traits / Héritage multiple horizontal (4/4)Gestion des conflits entre méthodes
Objet comme fonction            Ajout de la méthode magique            __invoke()
Amélioration des erreursphp -r class abc fooPHP 5.3 :PHP Parse error: syntax error, unexpected T_STRING,expecting { in Com...
Progression de lupload dun fichier
< Migration />Que faut-il auditer dans vos applications ?
Migration : Incompatibilité   Consultez le guide de        DIRECTIVES   migration :                    Safe Mode   http:/...
< Production />             Je suis FAN !On linstalle sur tous nos serveurs ?
PHP 5.4 : Pas de précipitation●   La révision PHP 5.4.1 est déjà prévue pour le 25/04●   Les IDE et outils ne sont pas enc...
CONTACT arnaud@wixiweb.fr Twitter : @arnolemhttp://www.wixiweb.fr
Prochain SlideShare
Chargement dans…5
×

Présentation de PHP 5.4 [FR]

975 vues

Publié le

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
975
Sur SlideShare
0
Issues des intégrations
0
Intégrations
9
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Présentation de PHP 5.4 [FR]

  1. 1. Nouvelle version, PHP 5.4 Versions de PHP Arnaud Lemercier Communauté Performance arnaud@wixiweb.fr Fonctionnalités @arnolem Migration http://www.wixiweb.fr Production @wixiweb
  2. 2. < Versions de PHP />De Personal Home Page / Form Interpreter à PHP Hypertext Preprocessor
  3. 3. Historique de PHP 1995 - PHP/FI créé par Rasmus Lerdorf 1998 - PHP 3.0 Réécriture par Andi Gutmans et Zeev Suraski 2000 - PHP 4.0 Zend Engine / Modularité / Performance / Session 2004 - PHP 5.0 Zend Engine 2 / POO / Exceptions / SPL / simpleXML 2009 - PHP 5.3 Namespace / PHAR / Fn anonyme / Late Static Binding
  4. 4. PHP 5.4 Version Mineure ou Majeure ? MAJEURE MINEURE Rupture de compatibilité  Nouvelles fonctionnalités Ex PHP 6  Pas de rupture de compatibilité  Mvt dExtensions PECL <=> Core REVISION Ex PHP 5.4 Correction de bug Ex PHP 5.4.1
  5. 5. < Communauté />
  6. 6. Restructuration de la communauté RFC pour chaque nouvelles fonctionnalités https://wiki.php.net/rfc/voting Un nouvelle version par an (support 2 + 1 an) https://wiki.php.net/rfc/releaseprocess De SVN vers GIT (sur php.net + miroir github) https://wiki.php.net/vcs/gitworkflow DEMARCHE QUALITE
  7. 7. < Performance />Une réécriture en profondeur
  8. 8. Performances nettement améliorées« Nous avons réécrit certaines parties du moteur PHP pour quilconsomme moins de mémoire et supporte plus dutilisateurssimultanés » Zeev Suraski
  9. 9. Performance PHP 5.3 > PHP 5.4Drupal Zend Framework Micro Bench+7% requêtes +21% requêtes -50% tps d’exécution-50% mémoire -23% mémoireWordPress Doctrine 2 Symfony 2 (PHPUnit)+9% requêtes -40% mémoire -55% mémoire-40% mémoire -35% tps d’exécution
  10. 10. < Fonctionnalités />Les nouveaux joujoux des développeurs
  11. 11. Short Open Tags assumé <?= $login ?>
  12. 12. Serveur web de développement test intégré Serveur web uniquement pour des tests Possibilité de définir un fichier de routage en php
  13. 13. Type Callable / Closure / Fonction anonyme
  14. 14. Short Array Syntax<?PHP $array = [val1, val2] ; ?>
  15. 15. Arrays deferencing <?= fnc() [index] ?>
  16. 16. Appel direct de méthode dinstance <?= (new Obj()) → method() ?>
  17. 17. Invocations statiques dynamiques (call_user_func) <?PHP controller::{$action}() ; ?>
  18. 18. Notation Binaire<?PHP $foo = 0b1100101010 ; ?>
  19. 19. Traits / Héritage multiple horizontal (1/4)  Réutilisation de fonctionnalité  Template de classe (Singleton)  Mais attention aux conflits entre traits  Ne remplace pas la logique dhéritage (parenté)  Priorités des méthodes : Classe > Trait > Parent
  20. 20. Traits / Héritage multiple horizontal (2/4) Attention à la déclaration de propriétés dans les traits ! PAF : Pastèque ! ^^
  21. 21. Traits / Héritage multiple horizontal (3/4)
  22. 22. Traits / Héritage multiple horizontal (4/4)Gestion des conflits entre méthodes
  23. 23. Objet comme fonction Ajout de la méthode magique __invoke()
  24. 24. Amélioration des erreursphp -r class abc fooPHP 5.3 :PHP Parse error: syntax error, unexpected T_STRING,expecting { in Command line code on line 1PHP 5.4 :PHP Parse error: syntax error, unexpected foo (T_STRING),expecting { in Command line code on line 1
  25. 25. Progression de lupload dun fichier
  26. 26. < Migration />Que faut-il auditer dans vos applications ?
  27. 27. Migration : Incompatibilité Consultez le guide de DIRECTIVES migration :  Safe Mode http://php.net/migration54  Magic Quotes  Register GlobalsFONCTIONS LANGAGE  session_is_registered(),  break $x ; continue $x session_register() et  htmlspecialchars() et session_unregister(). htmlentities() en UTF-8 par défaut  Ext/SQLite
  28. 28. < Production /> Je suis FAN !On linstalle sur tous nos serveurs ?
  29. 29. PHP 5.4 : Pas de précipitation● La révision PHP 5.4.1 est déjà prévue pour le 25/04● Les IDE et outils ne sont pas encore tous compatibles● PHP 5.4 nest pas encore dans les dépôts officiels (Linux)● Les CMS ne sont pas tous compatibles (Joomla 1.x, spip, ...)● Attention : OVH propose PHP 5.4 RC sur les mutualisés● Le patch de sécurité Suhosin nest pas encore disponible● APC pour PHP 5.4 est en BETA
  30. 30. CONTACT arnaud@wixiweb.fr Twitter : @arnolemhttp://www.wixiweb.fr

×