PHP 5.6 sort en version stable
Et marque la fin de l'intégration des nouveautés à la branche 5.x

Le , par Hinault Romaric, Responsable .NET
L’équipe responsable du développement de PHP vient de publier la version stable de PHP 5.6, qui apporte de nombreuses améliorations, des nouvelles fonctionnalités, ainsi que des changements qui affectent la compatibilité.

Les principales caractéristiques de cette version sont les suivantes :

  • L’introduction des expressions scalaires constantes, qui permet désormais aux développeurs de fournir une expression scalaire impliquant des littéraux numériques et de chaine et/ou des constantes dans des contextes ou PHP auparavant prévoyait une valeur statique, comme les constantes et les déclarations de propriétés ;
  • Le support des fonctions variadiques (fonction qui accepte un nombre variable de paramètres) ;
  • La prise en charge de l’exponentiation, grâce à l’introduction de l’opérateur « ** » ;
  • L’intégration de phpdbg, un débogueur PHP interactif mis en œuvre dans le module SAPI ;
  • « php://input » est désormais réutilisable et « $HTTP_RAW_POST_DATA » a été marqué comme obsolète ;
  • Les objets GMP (GNU Multiple Precision - bibliothèque logicielle de calcul multiprécision sur des nombres entiers, rationnels et en virgule flottante) prendront dorénavant en charge la surcharge d’opérateur ;
  • Avec PHP 5.6, le téléchargement des fichiers de plus de 2 Go est maintenant accepté.


En ce qui concerne les changements qui affectent la compatibilité, on note :

  • Le fait que les clés de votre tableau ne seront pas écrasées lors de la définition de celui-ci comme une propriété d’une classe via un littéral de tableau ;
  • La fonction json_decode() est désormais plus stricte ;
  • Les ressources GMP sont désormais des objets ;
  • Les fonctions Mcrypt (bibliothèque pour le chiffrement/déchiffrement des données en PHP) exigeront dorénavant des clés valides.


PHP 5.6 représente une version très importante de l’outil de développement Web. Elle marque la dernière version de la branche 5.x. Le successeur de cette version sera PHP 7 qui manquera une nouvelle génération pour le langage de programmation.

Pour rappel, après un débat houleux, les développeurs de PHP avaient décidé de sauter la version 6.x, pour adopter directement la version 7.x, afin d’éviter des confusions liées aux travaux non aboutis PHP 6 et de s’éloigner de la « malédiction du chiffre 6 ».

Par ailleurs, le langage pourra évoluer suivant une spécification. En début de ce mois, les développeurs de Facebook en collaboration avec le créateur de PHP Rasmus Lerndorf et le PDG de Zend Technologies Andi Gutmans, ont dévoilé une première ébauche d’une spécification formelle pour le langage de programmation.

Télécharger PHP 5.6

Source : Site du projet

Et vous ?

Que pensez-vous des améliorations de cette version ? Et du futur de PHP avec sa version 7 et sa spécification ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de nicofuma nicofuma - Membre à l'essai https://www.developpez.com
le 29/08/2014 à 14:28
Citation Envoyé par Hinault Romaric  Voir le message
[...][*]Le support des fonctions variadiques (fonction qui accepte un nombre variable de paramètres) ;
[...]

C'est pas vraiment vrai ; les variadiques étaient déjà supportés, mais la 5.6 introduit une nouvelle notation qui permet de de l'identifier et de les utiliser plus facilement.

Sinon, pour moi la 5.6 apporte aussi une autre nouveauté importante : la fonction
Code : Sélectionner tout
bool hash_equals ( string $known_string , string $user_string )
qui permet de faire des comparaisons de chaînes en temps constant afin de sécuriser les hash/token/clefs... contre les attaques temporelles (Timing attack)
Avatar de Tsilefy Tsilefy - Membre chevronné https://www.developpez.com
le 29/08/2014 à 19:58
En début de ce mois, les développeurs de Facebook en collaboration avec le créateur de PHP Rasmus Lerndorf et le PDG de Zend Technologies Andi Gutmans, ont dévoilé une première ébauche d’une spécification formelle pour le langage de programmation.

Heh ce n'était pas vraiment "en collaboration" :-)

Facebook est arrivé avec le document déjà rédigé (mais poliment annoncé comme une version non finale) de son côté sans en référer à personne et a dit aux autres "On a fait ça, qu'en pensez-vous?". Non pas que je me plaigne, il était temps que quelqu'un rédige les specs, merci à FB.

La nouveauté qui va le plus me servir n'est pas dans la liste donnée: la possibilité d'importer et d'aliaser une fonction namespacée.
Avatar de Zefling Zefling - Membre émérite https://www.developpez.com
le 30/08/2014 à 1:13
Citation Envoyé par nicofuma  Voir le message
C'est pas vraiment vrai ; les variadiques étaient déjà supportés, mais la 5.6 introduit une nouvelle notation qui permet de de l'identifier et de les utiliser plus facilement.

Pour être plus précis il me semble que c'est cette notation :

Code : Sélectionner tout
1
2
3
function foo ($var1, $var2, ...$vars) { 
  // mon code 
}
Au lieu de faire un func_get_args() et ensuite virer $var1 et $var2.

Dès que j'y passe, j'ai un quelques de méthodes à revoir, ça réduira un peu le code.
Avatar de nicofuma nicofuma - Membre à l'essai https://www.developpez.com
le 30/08/2014 à 11:34
Et si tu veux vraiment la liste complète des possibilités... voici la rfc https://wiki.php.net/rfc/variadics =D
Offres d'emploi IT
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil