PHP est déjà très populaire, il est utilisé par des millions de domaines (d’après Netcraft), supporté par la plupart des ISP et utilisé par des grands noms tels que Yahoo!
La prochaine version, PHP6, va inclure un lot de nouvelles fonctionnalités pour le rendre davantage fiable et attractif, ainsi que des améliorations de la syntaxe afin de le rendre encore plus ‘objet’.
Quelques unes des nouvelles fonctionnalités
Support amélioré de l’Unicode
Grâce à sa compatibilité avec UNICODE, PHP 6 pourra être utilisé partout dans le monde et permettra aux applications de supporter n’importe quel alphabet international. PHP n’ayant pas été prévu pour fonctionner en respectant la norme UNICODE il est nécessaire de réaliser un gros travail de fond sur les différentes strates de PHP :
- le moteur de PHP,
- la couche SAPI,
- les extensions.
Les Namespaces
Prévu pour PHP5.0 et finalement retiré, les espaces de noms arrivent en PHP6 ! Cette approche montre bien le souhait du PHPGroup de rendre PHP6 encore plus ouvert aux applications de grande envergure ou aux applications qui sont montées sur plusieurs briques indépendantes.
Le développeur peut être confronté à des problèmes de recouvrement : deux variables, deux fonctions ou deux classes ayant le même nom, qui entrent en conflit. Les espaces de noms permettent d’éviter ce problème en proposant une séparation de chaque brique en paquetage dont l’environnement sera protégé. Ainsi, la sécurité et l’intégrité des applications seront améliorées. Ce concept est déjà supporté par des langages évolués tels que Java, Python et C# depuis des années.
Intégration native d’un accélérateur
Le cache d’opcode (ou cache de code intermédiaire) est un moyen immédiat d’optimiser les performances globales d’une application. Il est adapté à la plupart des développements PHP et intervient dans la couche “basse” de PHP, c’est à dire entre la lecture du code PHP et son exécution. La solution retenue serait APC, précédemment distribué sous la forme d’un package PECL.
L’ajout d’un cache d’opcode s’explique surtout par la baisse de performance de PHP 5 et 6, liée respectivement au support de la programmation objet (OO) puis au support d’Unicode.
Ce qui va disparaitre
magic_quotes
Retirées pour des raisons de portabilité, performance. Les magic quotes sont déjà fortement déconseillées dans la doc PHP. Il faudra désormais utiliser les fonctions propres à chaque BDD, mysql_escape_string pour MySQL ou pg_escape_string pour PostgreSQL.
register_globals
off par defaut depuis PHP4.2. Constitue un risque en terme de securité (injection de variables depuis les formulaires).
register_long_arrays
Rendent disponibles les variables sous la forme $HTTP_xxx_VARS équivalentes à $_xxx.
ex:
$HTTP_GET_VARS == $_GET (préfèrer les $_GET).
Déconseillé par le PHPGroup pour des raisons de performance.
safe_mode
Exit le safe_mode .
GD1
La librairie graphique GD1 va être retirée, avantageusement remplacée par GD2.
FreeType1
idem que pour GD1
Ereg
L’extension ereg qui supporte les expression régulières POSIX (Portable Operating System Interface) va être retiré du cœur, remplacée par le jeu de fonctions actuellement contenues dans l’extension PCRE (Perl-Compatible Regular Expression). Si vous utilisiez les fonctions correspondantes, vous les retrouverez dans une extension PECL. Sinon, préférez les fonctions PCRE.
ereg() fonctions et leurs équivalents:
ereg(), eregi() => preg_match()
ereg_replace(), eregi_replace() => preg_replace()
Quelques liens intéressants
http://www.ibm.com/developerworks/library/os-php-future/index.html
http://www.php.net/~derick/meeting-notes.html
merci à David Fr. pour l’info
Derniers commentaires