Les nouveautés de PHP 7

Catégorie: Web (Mis à jour le 05-12-2015 22:13:28)

Depuis quelques mois, on entend de plus en plus parler de PHP 7 comme d'une révolution dans le monde du PHP. Je profite de sa sortie pour faire un petit tour d'horizon des points les plus importants.

Ajout du typage statique

On a souvent critiqué PHP pour son typage dynamique qui rend son utilisation dangereuse pour toute application importante. C'est maintenant de l'histoire ancienne! En effet, PHP 7 supporte le typage des types primitifs (int, string, etc...) dans les appels de fonctions et méthodes.

On obtient donc un code qui ressemble à ça :

Pas de panique cependant, cette amélioration reste facultative. Tous nos anciens codes non typés fonctionnerons toujours pareil, même si un typage fort est à conseiller sur les nouveaux projets.

Retrait des fonctionnalités obsolètes

C'est aussi une nouveauté importante : des extensions dépréciées dans des versions antérieures de PHP on été retirées dans PHP 7!

Par exemple, l'extension MySQL disparait définitivement, remplacée depuis des années par PDO.

Mais alors le code est compatible?

La réponse simple est : oui, tout code PHP 5 passera avec PHP 7. Dans un cas réel par contre, c'est un peu plus complexe : normalement tout le code de base passe sans problème, sauf dans des cas bien précis.

Si vous utilisez déjà dans votre code un nom qui est devenu réservé (int, float, etc...) vous aurez une jolie erreur à l'exécution. C'est le cas de Joomla qui déclare sa propre classe string. Cette classe rentre en conflit avec la nouvelle classe string de PHP 7 et sera retirée dans la prochaine version de ce CMS.

De la même façon, si vous utilisez une classe dépréciée, votre code ne fonctionnera pas ! Mais depuis le temps vous avez déjà changé votre implémentation pas vrai? ;-)

Pourquoi migrer ?

Cette nouvelle version de PHP met surtout l'accent sur la vitesse. Pour moi c'est une raison suffisante pour considérer l'upgrade. L'équipe de développement annonce une amélioration des performances de l'ordre du double et cette tendance est confirmée dans mes tests personnels.

Le coeur de l'interpréteur à été revu pour utiliser un AST (Abstract Syntax Tree, ou Arbre de Syntaxe). A travers ce nouveau système, PHP est maintenant capable de modifier votre code à la volée pour le rendre plus performant. Cela ouvre la porte à des optimisations automatiques comme le fait Java ou C# depuis quelques années.

Cette augmentation des perfs rend l'interpréteur de nouveau compétitif face à HHVM.

Et vous? êtes-vous prêts à migrer votre application vers PHP 7 ?

A lire aussi:

Un forum avec laravel

[Web] Les forums sont courants sur le web. J'ai donc pris l'initiative de créer un package pour laravel permettant d'integrer rapidement un forum basique et customisable à votre site web.
Suite...

Retour sur l'année 2015 et prévisions pour 2016.

[Web] Pour féter (en retard) l'année 2016 et les nouvelles résolutions, voici un petit retour sur les événements 2015 qui on marqué ce blog.
Suite...