Nouveautés de PHP 5.4

Voici une liste non exaustive et bien simple des nouveautés de PHP 5.4. Pour plus de détails, je vous invite à visiter les sites en référence et à googler.

NOUVEAUTÉS

Les traits

Les Traits constituent une mise en oeuvre de l’héritage multiple tel que présent dans le langage Java. Concrètement, ce sont des bouts de code, regroupés en fonctions et dans une nouvelle structure qu’on appelle « trait ». Ces traits peuvent être utilisés par plusieurs classes et ce horizontalement par opposition à l’héritage simple qui est plutôt vertical. L’auteur original des traits, Stefan Marr, mentionne que les traits ne sont rien d’autre que des copier-coller automatiquement gérés par le compilateur. Les fonctionnalités communes peuvent ainsi être regroupées dans une définition de traits (mot réservé trait) et incluses dans une classe avec le mot réservé use. La particularité réside donc dans le fait qu’une classe peut utiliser plusieurs traits et ce en plus de l’héritage simple.

Amélioration des tableaux

La notation des tableaux a été améliorée par l’ajout de la syntaxe à crochet du style json, mais l’adoption complète de la notation json, bien que discutée, n’a pas été retenue.

Serveur HTTP intégré

Un tout nouveau serveur HTTP a été intégré afin de faciliter les tests et le développement sur un environnement local, évitant ainsi les AMPs de ce monde. Cette option est absolument à éviter pour les serveurs en production. Ceci est probablement la fonctionnalité que j’ai le plus hâte de tester. Si ça peut aider à rendre plus rapide la mise en place d’un environnement de développement local sur plusieurs plateformes différentes et que c’est performant à souhait et fidèle à l’environnement de production, alors je suis prenneur.

Dépréciations

  • L’option Magic Quotes est désormais disparue.
  • Certains espaces de nom ont été réservés afin d’éviter que les classes natives soit redéfinies.
  • Finalement l’affichage des erreurs E_STRICT sont incluses dans E_ALL. E_ALL affiche donc toutes les erreurs pour de vrai.

Fonctions anonymes

Les « Closures » ou fonctions anonymes sont désormais présentes mais avec une nouvelle façon de les définir via un tableau et de les appeler.

Gestionnaire de session extensible

Le gestionnaire de session peut être étendu afin de répondre aux moindres caprices de nos applications de plus en plus pointilleuses.

Progression du téléversement

Le mécanisme d’obtention du statut du téléversement qui avait été commencé en 5.3 est désormais intégré en natif. Nous pouvons donc obtenir l’information sur la progression tout au long du transfert.

Divers

  • Il est maintenant possible de désactiver le traitement des $_POST pour sauver un peu de traitement mais l’accès aux données peut toujours être fait via le stream input.
  • La notation binaire est disponible (Example: 0b10 pour 2).

Non inclu dans PHP 5.4

  • Le support d’UTF8 (unicode), nativement
  • foreach list()

Références:
https://wiki.php.net/rfc/builtinwebserver
http://www.phpclasses.org/blog/post/150-Top-10-PHP-54-features-to-vote.html
http://simas.posterous.com/new-to-php-54-traits
http://css.dzone.com/polls/what-new-feature-php-54

Laisser un commentaire

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

* Copy This Password *

* Type Or Paste Password Here *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>