Présentation de PHP 5.4 [FR]

1 037 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
1 037
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
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

×