BT

Sortie de PHP 5.6

| par Sergio De Simone Suivre 14 Abonnés , traduit par Simon Courtois Suivre 0 Abonnés le 19 sept. 2014. Durée de lecture estimée: 2 minutes |

L'équipe en charge du développement de PHP a annoncé la publication de PHP 5.6. D'après l'équipe, cette dernière version apporte de nouvelles fonctionnalités et un certain nombre d'améliorations mais également quelques changements non rétrocompatibles.

Parmi les changements les plus importants, on trouve :

  • Les expressions scalaires constantes

    Il est maintenant possible d'utiliser de l'arithmétique basique ainsi que des opérations logiques lors de la déclaration des constantes, de la définition d'arguments de fonction par défaut ou de propriétés de classe :

    const ONE = 1;
    const TWO = ONE * 2;

    class C {
      const THREE = TWO + 1;
      const ONE_THIRD = ONE / self::THREE;
      const SENTENCE = 'The value of THREE is '.self::THREE;

      public function f($a = ONE + self::THREE) {
        return $a;
      }
    }

  • Une meilleure syntaxe pour les fonctions variadiques

    Les fonctions variadiques peuvent maintenant être déclarées avec l'opérateur ... :

    public function variadic_function($param, ...$paramsArray) {
      // method implementation
    }

    Dans l'exemple ci-dessus, ...$paramsArray indique à l'interpréteur de placer tous les arguments variadiques dans le tableau $paramsArray qui peut ensuite être utilisé dans le code de la fonction. Précédemment, les arguments variadiques étaient déclarés comme ceci :

    $paramsArray = array_slice(func_get_args(), 1);

  • Exponentiation

    Le nouvel opérateur ** permet de calculer un nombre à la puissance d'un autre.

  • UTF-8

    L'encoding par défaut est maintenant UTF-8.

  • Surcharge de l'opérateur GMP

    Les objets GMP supportent maintenant la surcharge d'opérateurs et le casting en types scalaires. Cela permet un code plus expressif lors de l'utilisation de GMP :

    $a = gmp_init(42);
    $b = gmp_init(17);

    // Code pre-5.6 code :
    var_dump(gmp_add($a, $b));
    var_dump(gmp_add($a, 17));
    var_dump(gmp_add(42, $b));

    // Nouveau code :
    var_dump($a + $b);
    var_dump($a + 17);
    var_dump(42 + $b);

  • Upload de gros fichiers

    La limite de 2Go a été retirée, il est donc maintenant possible d'envoyer des fichiers de taille arbitraire.

Pour les utilisateurs mettant à jour depuis PHP 5.5, un guide de migration est disponible et détaille les différences entre 5.5 et 5.6.0 ainsi qu'une démo de bon nombre de nouvelles fonctionnalités.

PHP 5.6.0 introduit également des changements affectant la compatibilité :

  • lors de l'utilisation d'un tableau littérale comme propriété de classe, les clés du tableau ne seront pas écrasées
  • json_decode() est plus strict concernant la syntaxe JSON
  • les gestionnaires de protocoles et de flux vérifient maintenant par défaut les certificats et noms de domaine lors de l'utilisation de SSL/TLS
  • les ressources GMP sont maintenant des objets
  • les fonctions Mcrypt requièrent maintenant des clés et IVs valides

Une liste complète de tous les changements peut être trouvée dans le ChangeLog.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT