vendredi 2 mars 2012

La version 5.4.0 de PHP est sortie

PHP

Aujourd'hui sort la version 5.4.0 de PHP est sortie. Elle constitue une avancée majeure dans la série 5.x et inclut un grand nombre de nouvelles fonctionnalités et de corrections de bugs.

Certaines des nouvelles fonctionnalités clefs comprennent:

  • ajout de la gestion des traits, équivalent des macros du C pour gérer un pseudo héritage multiple
  • une syntaxe abrégée pour les tableau à la Javascript a été ajoutée, par exemple: $a=[1, 2, 3, 4]; ou $a=['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];.
  • le déréférencement des tableaux retournés par les fonctions a été ajouté, par exemple; foo()[0].
  • les fermetures gèrent maintenant $this.
  • <?= est maintenant toujours disponible, quelle que soit la valeur donnée à l'option short_open_tag ini.
  • l'accès aux membres de Class à l'instanciation a été ajouté, ex: (new Foo)->bar().
  • la syntaxe Class::{expr}() est maintenant gérée.
  • le format des nombres binaires a été ajouté, par exemple: 0b001001101.
  • amélioration des messages d'erreur d'analyse syntaxique et des avertissements d'arguments incompatibles.
  • l'extension de session peut maintenant suivre l'avancement de l'envoi des fichiers.
  • serveur Web embarqué en ligne de commande.
  • gestion des langages multi octets dans toutes distributions binaires de PHP en utilisant un flag à l'exécution.

Les performances ont également été significativement améliorées, l'empreinte mémoire a été réduite et plus de 100 bugs ont été corrigés. Le code de base est plus propre, grâce à la suppression de nombreuses fonctionnalités du langage obsolètes.

Modifications qui ont un impact sur la compatibilité

  • les registres globaux, les guillemets magiques et le mode sûr ont été supprimés
  • la syntaxe break/continue $var a été supprimée
  • l'option ini allow_call_time_pass_reference a été supprimée
  • l'encodage par défaut default_charset est maintenant "UTF-8" dans le fichier php.ini distribué, mais reste par défaut à ""

Extensions déplacés dans PECL

  • ext/sqlite (ext/sqlite3 et ext/pdo_sqlite ne sont pas affectés)

PHP 5.4 est la dernière série à supporter Windows XP et Windows 2003. Aucun paquet binaire ne sera fournit pour Windows pour les versions ultérieures de PHP.

Pour la liste complète des changements dans PHP 5.4.0, voir le changelog. Voir également la news sur Linuxfr bien plus complète.