Nouveautés PHP 8

PHP 8 va sortir en alpha pour le 25 juin 2020. Nous pouvons déjà relever quelques nouveautés intéressantes.

Simplification des constructeurs

Les constructeurs sont maintenant simplifiés, plus besoin de définir toutes les variables et de les redéfinir dans le constructeur :

PHP

En ajoutant le mot clé « public » devant chaque paramètre, la classe va générer les propriétés par elle même, accessible comme d’habitude :

PHP

Paramètres des fonctions

Dans une fonction, il est maintenant possible de définir plusieurs types pour les paramètres ou les valeurs de retours :

PHP

Cette fonction, prendra un paramètre soit un integer soit un float et générera une erreur dans le cas contraire.

Les annotations (Attributs)

Si vous avez déjà fait du Symfony, vous devez connaître les annotations, elles ressembles à ça :

PHP

Sous PHP 8, cette syntaxe a été remplacé par des #[] (appelés attributs). 
Le code précedant devrait donc donner :

PHP

Vérifier qu’une chaîne de caractères en contient une autre

Il est maintenant possible de savoir si une chaîne de caractère en contient une autre grace à la fonction str_contains() :

PHP

Vérifier qu’une chaîne de caractères commence ou termine par une autre

Deux nouvelles fonctions str_starts_with() et str_ends_with() :

PHP

Attention, ces dernières sont sensibles à la casse.