PHP 5.4 : quelles sont les nouveautés de cette version ?

de | 8 mars 2012

Plus de 2 ans et demi après la version 5.3, la version 5.4 de PHP est finalement sortie de façon officielle. C’est l’occasion de faire un récapitulatif des nouveautés apportées par cette mise à jour.

php-5-4

Les traits

Particulièrement utile pour factoriser le code, les traits permettent de regrouper des  portions de codes identiques afin de les réutiliser dans n’importe quelles classes. Le principe est donc similaire à l’héritage classique, tout en étant  beaucoup plus souple. Pour résumer simplement l’utilisation d’un trait, on pourrait dire que c’est l’équivalent d’une classe qui s’utilise non pas de manière verticale (comme l’héritage) mais de manière horizontale.

Voici un exemple de trait :

<?php
trait ezcReflectionReturnInfo {
function getReturnType() { /*1*/ }
function getReturnDescription() { /*2*/ }
}

class ezcReflectionMethod extends ReflectionMethod {
use ezcReflectionReturnInfo;
/* … */
}

class ezcReflectionFunction extends ReflectionFunction {
use ezcReflectionReturnInfo;
/* … */
}
?>

Les tableaux

La déclaration des tableaux a été simplifiée. Il est maintenant possible de le faire sous la forme :

$a = [1, 2, 3, 4];

$a = [‘un’ => 1, ‘deux’ => 2, ‘trois => 3, ‘quatre’ => 4];

La syntaxe n’est pas sans rappeler le JSON.

Un serveur web embarqué

Un serveur web intégré permet désormais de faciliter le développement et les tests d’un script en local (Il n’est donc pas fait pour faire fonctionner un site en production, gardez Apache sous la main). Le démarrage du serveur web se fait tout simplement via une ligne de commande avec l’exécutable php et l’option -S. L’option -t sert à déterminer le document_root (la racine sous laquelle le script est exécuté).

Les autres nouveautés

  • Une gestion de mémoire et une vitesse d’exécution améliorée (pour mémoire PHP est codé en C)
  • E_ALL contient maintenant E_STRICT (qui détecte les erreurs de conception dans le code et déclenche une E_ERROR quand il en trouve)
  • Une façon simplifiée d’utiliser les objets :
    $toto = (new monObjet)->laFonction(); echo (new monObjet)->laFonction();
  • Les nombres binaires sont finalement gérés : ex :0b001001101.
  • Il est maintenant possible de récupérer à tout instant le pourcentage d’upload d’un fichier, ce qui permettra de coder des barres de chargement.

RIP

Les célèbres Deprecated suivants ont été définitivement supprimés :

  • safe_mode
  • register_globals
  • magic_quotes

Les vieux programmes les utilisant ne fonctionneront pas avec PHP 5.4. Attention également aux split(), ereg() etc… qui ne devraient pas tarder à suivre. Ne les utilisez pas.

 

La liste est loin d’être exhaustive, si vous voulez  l’ensemble des ajouts et modifications, rendez vous ici : Changelog

2 réflexions au sujet de « PHP 5.4 : quelles sont les nouveautés de cette version ? »

  1. Mike

    Pas mal cet article, un petit exemple sur les pourcentages d’upload serait cool.

  2. Ping : latest ufo sightings

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.