Rasmus Lerdorf (créateur de PHP) et Andrei Zmievski (principal développeur de PHP 6) ont présenté la prochaine version PHP 6 avec notamment le support Unicode qui a demandé une réécriture complète de son code. Cette version 6, attendue pour mars 2008, mettra donc l'accent sur l'internationalisation grâce au support d'Unicode.

Avec la réécriture complète du coeur de PHP, l'équipe de développement a pris du retard. C'est pourquoi, certaines fonctions majeures, initialement prévues et développées pour PHP 6, sont en cours de portage dans la version 5.3.
Par exemple, les namespace ou espaces de nommage qui ont pour but de regrouper logiquement les objets et des fonctions selon leur rôle : accès aux bases de données, génération de formulaires, ... seront disponible sur la version 5.3.
PHP 5.3 intégrera également un parser XML SAX (XMLReader) et une API permettant de générer simplement des fichiers XML (XMLWriter).

En revanche, c'est à partir de PHP 6 qu'un cache de code intermédiaire natif sera disponible. Jusqu'à présent, distribué sous forme de librairie, APC permet d'intercepter le code PHP avant sa compilation, et le stocke en mémoire. Il permet d'éviter la recompilation du code à chaque fois qu'une page ou qu'un objet déjà compilé (donc en mémoire) est à nouveau appelé.

Par ailleurs, quelques corrections de PHP 4 sont encore prévues d'ici au mois d'août 2008. Après ce sera terminé : place à PHP 5 et PHP 6 !

Glossaire de l'article :

  • Namespace : espace de noms - désigne un ensemble accessible dans un contexte donné par une méthode d'accès faisant usage de noms symboliques (par exemple des chaînes de caractères avec ou sans restriction d'écriture). Ils permettent d'éviter les conflits de noms entre plusieurs parties d'un même projet, et ainsi rendent le code plus lisible et plus facilement réutilisable.
  • Parser : outil d'analyse syntaxique
  • Unicode : norme informatique, développée par le Consortium Unicode, qui permet de donner à tout caractère de n'importe quel système d'écriture de langue un nom et un identifiant numérique, et ce de manière unifiée, quelle que soit la plate-forme informatique ou le logiciel.