PHP 7 est arrivé ; voici ses nouvelles fonctionnalités

Lees in het Nederlands - Read in English

PHP 7 est enfin arrivé… Quel magnifique cadeau de fin d’année pour tous les développeurs !

Les nombreux développeurs PHP trépignaient tous d’impatience avant le lancement de la nouvelle version de ce langage de programmation, notamment parce qu’elle promettait de meilleures performances. Mais PHP 7 leur réserve bien d’autres (bonnes) surprises. Thijs Feryn, évangéliste technologique chez Combell, nous a fourni quelques explications (cliquez ici pour une version technique plus détaillée et des exemples de code sur le blog personnel de Thijs).

Rapide comme l’éclair avec PHP 7 grâce au moteur PHP de nouvelle génération

Rapide comme l’éclair avec PHP 7 grâce au moteur PHP de nouvelle générationIl est inutile de vous répéter que PHP est extrêmement populaire auprès des développeurs. À l’époque où il a été créé par Rasmus Lerdorf, en 1994, PHP signifiait encore Personal Home Page. Entre-t
emps, le langage a mûri et est devenu un outil efficace et très polyvalent pour le développement de sites web, entre autres grâce à la très active communauté de développeurs qui œuvrent constamment au perfectionnement de ce langage.

Mais cette semaine, un nouveau cap a été franchi dans l’évolution de ce langage, puisque la version 7.0 de PHP a finalement été lancée. Pour commencer, cette version est très impressionnante en raison de ses performances, qui ont été sensiblement améliorées, grâce au nouveau moteur PHP de nouvelle génération, le successeur de l’actuel Zend Engine. Ce nouveau moteur serait en effet jusqu’à deux fois plus rapide que la version précédente (PHP 5.6).

Typage explicite pour les types scalaires et déclarations des types de retour

Cette nouvelle version inclut cependant encore d’autres améliorations. Maintenant, il est notamment possible de faire appel au typage explicite pour les types scalaires. À l’origine, PHP est un langage faiblement typé, ce qui signifie que les variables ne sont pas déclarées avec des types de données stricts, de façon à ce que dans un script, on puisse attribuer à une variable une valeur d’un autre type que la valeur originale.

Cela rend PHP extrêmement flexible, mais parfois aussi peu fiable, car les erreurs ne sont pas immédiatement signalées. Voilà pourquoi, au fil du temps, les type hints ont été intégrés : si une valeur ne répond pas au type hint, un avertissement apparaît. Ce qui est une très bonne idée, si ce n’est que jusqu’à présent, ces type hints étaient limités aux objets, tableaux et variables appelables.

Dans PHP 7, le typage explicite pour les types scalaires a été prévu : entiers, chaînes de caractères, booléens et nombres décimaux peuvent aussi être dotés de type hints. De plus, les déclarations des types de retour sont désormais aussi prises en charge. En tant que développeur, vous pouvez donc veiller à ce que les résultats des fonctions et des méthodes soient cohérents.

Lorsque vous faites tourner PHP en mode standard (coercive), PHP n’affichera une erreur que lorsqu’un type erroné est retourné sans pouvoir être converti dans le type souhaité. La chaîne de caractères « 12 » sera p. ex. autorisée si l’interface de la fonction ou de la méthode s’attend à un entier. Mais si vous activez le mode strict, PHP sera moins indulgent et affichera immédiatement une erreur lorsque les types ne correspondent pas à 100 %.

Opérateurs : des zéros... et des vaisseaux spatiaux

PHP 7 Opérateurs et des vaisseaux spatiauxPHP 7 connaît aussi quelques nouveaux opérateurs : le « null coalesce operator » et le « spaceship operator ».

Le « null coalesce operator » est ce que l’on appelle un opérateur ternaire, qui s’assure que la valeur évaluée existe et qu’elle n’est pas nulle. Si c’est bien le cas, la valeur est retournée. Dans le cas contraire, c’est une valeur alternative qui est retournée.

Le « spaceship operator » (nous adorons ce nom !) permet quant à lui de déterminer si une valeur est supérieure, inférieure ou identique à une autre valeur. Cela s’exprime par 0 (égal à), -1 (plus petit que), ou 1 (plus grand que).

Classes anonymes

Ensuite, il y a aussi les classes. Dans le modèle orienté objet de PHP, les classes sont déclarées de façon explicite et par la suite instanciées de façon explicite en objets. À partir de PHP 7, il est possible de déclarer des classes anonymes. Il s’agit de classes qui sont déclarées à la volée, comparables aux fonctions anonymes (~ callbacks) qui sont déjà disponibles dans PHP 5 depuis quelque temps.

Mais... qu’en est-il de PHP 6 ?

PHP 7 est arrivé et tout ce que vous devez savoirLes lecteurs attentifs se demanderont bien évidemment pourquoi cette nouvelle version s’appelle PHP 7.0, alors que la version précédente s’appelait PHP 5.6. Qu’est-il donc advenu de PHP 6 ? Eh bien, PHP 6 a un jour existé, mais n’a jamais été lancé ! Le principal but de PHP 6 était en effet d’offrir une prise en charge totale d’Unicode, même au niveau du langage même. Ce but s’est finalement avéré impossible à atteindre et PHP 6 a donc été déclaré mort. Les autres fonctionnalités que PHP 6 aurait dû avoir ont été intégrées dans PHP 5.3.

Bien que PHP 6 n’ait jamais vu le jour, le projet a bel et bien existé au sein du core group de PHP. Et c’est justement pour cela que la décision a été prise d’appeler la nouvelle version PHP 7.

Voulez-vous en savoir plus ?

PHP propose encore bien d’autres nouveautés, qui sont malheureusement trop nombreuses pour être toutes mentionnées ici. N’hésitez pas à consulter http://php.net/manual/en/migration70.new-features.php pour un aperçu complet.

Notre collègue Thijs a une fois de plus fait honneur à sa réputation d’évangéliste technologique chez Combell : dans une vidéo, il explique les principales fonctionnalités, au moyen d’exemples de code.

Il a également rédigé un message technique sur son blog, avec de plus amples détails et d’autres exemples de code.

Souhaitez-vous déjà utiliser PHP 7 sur votre hébergement ?

C’est possible ! Nous proposons dès à présent PHP 7.0.0 sur nos packs d’hébergement mutualisé. Rendez-vous dans votre panneau de contrôle My Combell pour effectuer la migration de PHP 5 à PHP 7. Voulez-vous utiliser PHP 7 sur votre serveur Cloud ? Ça aussi, c’est possible ! Prenez contact avec notre service d’assistance. Si nécessaire, nos collaborateurs pourront compiler PHP 7 sur votre système.

Cliquez ici pour commander un hébergement PHP 7

Dernière chose : PHP 7 contient aussi diverses modifications entraînant une incompatibilité ascendante. Jetez donc un coup d’œil à l’adresse http://php.net/manual/en/migration70.incompatible.php et vérifiez si votre code sera compatible avec ces modifications.

Bonne chance avec votre PHP rapide comme l’éclair !