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.
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
Pas mal cet article, un petit exemple sur les pourcentages d’upload serait cool.
Ping : latest ufo sightings