Quoi de neuf dans PHP 7.4 ? Top 10 des fonctionnalités que vous devez connaître

Dans seulement 7 jours, nous verrons la sortie de PHP 7.4. Avec de nouvelles mises à jour, une utilisation réduite de la mémoire et une augmentation significative des performances seront obtenues. Jetez un coup d’œil aux 10 fonctionnalités principales de PHP 7.4 dans cet article!

PHP7.4

PHP7.4

Pourquoi certains langages de programmation sont-ils si populaires alors que d’autres sont rarement utilisés pour le développement de projets et tombent parfois même dans l’oubli ? Il y a beaucoup de raisons à cela. La simplicité de la syntaxe, des fonctionnalités, du réseau de développement et du soutien de la communauté affectent le niveau de demande pour chaque technologie.

Alors que le monde de l’informatique se développe constamment, les technologies de codage doivent suivre l’évolution de l’environnement en fournissant de nouvelles fonctionnalités, mises à jour et améliorations. C’est l’un des éléments les plus importants du succès linguistique.

Dans notre entreprise, j’apprécie PHP en raison des améliorations fréquentes effectuées chaque année et je pense qu’il sera populaire pendant de nombreuses années à venir. Depuis la sortie de PHP 5 en 2004, ses performances ont doublé et peut-être même triplé. C’est l’une des raisons pour lesquelles nous utilisons PHP dans notre société de développement de logiciels.

Il n’est pas étonnant que pour la deuxième année consécutive, PHP figure parmi les 10 langages de programmation les plus populaires selon StackOverflow Developer Survey 2019. Cette année, il a pris la 8ème place, soit un rang de plus que l’année précédente.

Dans seulement 7 jours, le jeudi 28 novembre, nous verrons la nouvelle version de PHP — PHP 7.4, qui deviendra l’une des versions les plus riches en fonctionnalités de tous les temps. Dans cet article, je vais énumérer et couvrir la vue d’ensemble des fonctionnalités mises à jour de PHP 7.4. Commençons!

Support des fonctions Arrow

Les fonctions anonymes, ou fermetures, étant principalement appliquées en JS, elles semblent être verbeuses en PHP. Leurs procédures de mise en œuvre et de maintenance sont également plus complexes.

L’introduction du support des fonctions arrow permettra aux développeurs PHP de nettoyer considérablement leur code et de rendre la syntaxe plus concise. En conséquence, vous obtiendrez un niveau de lisibilité et de simplicité de code plus élevé. Jetez un oeil à l’exemple ci-dessous.

Donc, si vous deviez auparavant écrire ce morceau de code:

function cube($n){return ($n * $n * $n);}$a = ;$b = array_map('cube', $a);print_r($b);

Avec PHP 7.4, vous pourrez le réécrire de la manière suivante:

$a = ;$b = array_map(fn($n) => $n * $n * $n, $a);print_r($b);

Grâce à la possibilité de créer du code soigné et plus court, le processus de développement web ira plus vite, vous permettant de gagner du temps.

Prise en charge des propriétés typées

L’introduction des propriétés typées dans la prochaine version sera probablement considérée comme l’une des fonctionnalités PHP les plus importantes mises à jour. Alors qu’auparavant il n’y avait aucune possibilité d’utiliser des méthodes de déclaration pour les variables et les propriétés de classe (y compris les propriétés statiques), les programmeurs peuvent désormais facilement les coder sans créer de méthodes getter et setter spécifiques.

En raison des types de déclaration (à l’exclusion de void et callable), vous pouvez utiliser les types nullable, int, float, array, string, object, iterable, self, bool et parent.

Si un développeur Web essaie d’attribuer une valeur non pertinente à partir du type, par exemple, en déclarant stringname comme chaîne, il recevra un message TypeError.

Comme les fonctions arrow, les propriétés typées permettent également aux ingénieurs PHP de raccourcir et de nettoyer leur code

Préchargement

Le but principal de cette nouvelle fonctionnalité est d’augmenter les performances de PHP 7.4. En termes simples, le préchargement est le processus de chargement de fichiers, de frameworks et de bibliothèques dans OPcache et constitue certainement un excellent ajout à la nouvelle version. Par exemple, si vous utilisez un framework, ses fichiers devaient être téléchargés et recompilés pour chaque requête.

Lors de la configuration d’OPcache, pour la première fois, ces fichiers de code participent au traitement de la demande, puis ils sont vérifiés pour les modifications à chaque fois. Le préchargement permet au serveur de charger les fichiers de code spécifiés dans la mémoire partagée. Il est important de noter qu’ils seront constamment disponibles pour toutes les demandes ultérieures sans vérification supplémentaire des modifications de fichiers.

Il convient également de mentionner que lors du préchargement, PHP élimine également les includes inutiles et résout les dépendances de classe et les liens avec des traits, des interfaces, etc.

Retour covariant &paramètres contravariants

À l’heure actuelle, PHP a principalement des types de paramètres invariants et des types de retour invariants qui présentent certaines contraintes. Avec l’introduction des paramètres covariants (les types sont ordonnés de plus spécifiques à plus génériques) et contravariants (les types sont ordonnés de plus génériques à plus spécifiques), les développeurs PHP pourront changer le type du paramètre en l’un de ses supertypes. Le type renvoyé, à son tour, peut être facilement remplacé par son sous-type.

Références faibles

En PHP 7.4, la classe WeakReference permet aux développeurs web d’enregistrer un lien vers un objet qui n’empêche pas sa destruction. Ne le confondez pas avec la classe WeakRef de l’extension Weakref. Grâce à cette fonctionnalité, ils peuvent plus facilement implémenter des structures de type cache.

Voir l’exemple d’utilisation de cette classe:

<?php$obj = new stdClass;$weakref = WeakReference::create($obj);var_dump($weakref->get());unset($obj);var_dump($weakref->get());?>

Notez également que vous ne pouvez pas sérialiser les Références faibles.

Opérateur d’assignation de coalescence

Un opérateur de coalescence est une autre nouvelle fonctionnalité disponible en PHP 7.4. C’est très utile lorsque vous devez appliquer un opérateur ternaire avec isset(). Cela vous permettra de retourner le premier opérande s’il existe et n’est pas NUL. Sinon, il retournera simplement le deuxième opérande.

Voici un exemple:

<?php// Fetches the value of $_GET and returns 'nobody'// if it does not exist.$username = $_GET ?? 'nobody';// This is equivalent to:$username = isset($_GET) ? $_GET : 'nobody';// Coalescing can be chained: this will return the first// defined value out of $_GET, $_POST, and// 'nobody'.$username = $_GET ?? $_POST ?? 'nobody';?>

Un opérateur de propagation dans une expression de tableau

PHP 7.4 donnera aux ingénieurs la possibilité d’utiliser des opérateurs de propagation dans des tableaux plus rapides que array_merge. Il y a deux raisons principales à cela. Tout d’abord, un opérateur de propagation est considéré comme une structure de langage et array_merge est une fonction. La deuxième raison est que maintenant votre temps de compilation peut être optimisé pour des tableaux constants. En conséquence, vous aurez augmenté les performances de PHP 7.4.

Jetez un coup d’œil à l’exemple de décompression d’arguments dans l’expression de tableau:

$parts = ;$fruits = ;var_dump($fruits);

De plus, il sera possible d’étendre le même tableau plusieurs fois. De plus, comme des éléments normaux peuvent être ajoutés avant ou après l’opérateur de propagation, les développeurs PHP pourront utiliser sa syntaxe dans le tableau.

Un nouveau mécanisme de sérialisation d’objet personnalisé

Dans la nouvelle version de PHP, deux nouvelles méthodes deviennent disponibles : __serialize et __unserialize. Combinant la polyvalence de l’interface sérialisable avec l’approche d’implémentation des méthodes __sleep/__wakeup, ce mécanisme de sérialisation permettra aux développeurs PHP d’éviter les problèmes de personnalisation associés aux méthodes existantes. Découvrez plus d’informations sur cette fonctionnalité PHP.

Réflexion pour les références

Les bibliothèques, telles que symfony/var-dumper, s’appuient fortement sur ReflectionAPI pour afficher avec précision les variables. Auparavant, il n’y avait pas de support approprié pour la réflexion de référence, ce qui obligeait ces bibliothèques à s’appuyer sur des hacks pour détecter les références. PHP 7.4 ajoute la classe ReflectionReference qui résout ce problème.

Prise en charge du lancement d’exceptions à partir de __toString()

Auparavant, il n’était pas possible de lancer d’exceptions à partir de la méthode __toString. La raison en est que la conversion d’objets en chaînes est effectuée dans de nombreuses fonctions de la bibliothèque standard, et toutes ne sont pas prêtes à « traiter » correctement les exceptions. Dans le cadre de cette RFC, un audit complet des conversions de chaînes dans la base de code a été effectué et cette restriction a été supprimée.

Pensées finales

Dans une semaine, PHP 7.4 sera publié. Il existe de nombreuses nouvelles fonctionnalités PHP qui réduisent l’utilisation de la mémoire et augmentent considérablement les performances de PHP 7.4. Vous aurez la possibilité d’éviter certaines limitations précédentes de ce langage de programmation, d’écrire du code plus propre et de créer des solutions Web plus rapidement.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.