Position actuelle: Accueil> Derniers articles> Tapez la conduite en php7: comment spécifier avec précision les types de paramètres de fonction

Tapez la conduite en php7: comment spécifier avec précision les types de paramètres de fonction

M66 2025-07-10

Fonctionnalités de musotage de type introduites par PHP7

PHP7 introduit la fonction de manteau de type, qui permet aux développeurs de spécifier explicitement le type de paramètres lors de la déclaration de fonction. De cette façon, nous pouvons éviter les erreurs de décalage de type lors de l'écriture de code, améliorant ainsi la lisibilité et la sécurité du type du code.

Comment déclarer les types de paramètres à l'aide de type de type

La méthode d'utilisation de la manteau de type est très simple, il vous suffit d'ajouter une déclaration de type avant les paramètres de la déclaration de fonction. Voici un exemple:

 <span class="fun">Fonction Calculateum (int $ a, int $ b): int {</span>
<span class="fun"> retourner $ a + $ b;</span>
 <span class="fun">}</span>
 <span class="fun">$ Résultat = Calculateum (5, 10);</span>
 <span class="fun">Echo $ Résultat; // Sortie 15</span>

Dans cet exemple, nous déclarons les paramètres $ A et $ B via le type int. Cela signifie que les paramètres transmis dans la fonction de calcul doivent être de type entier, sinon une erreur de type sera lancée pendant la phase de compilation.

Gestion des erreurs de décalage de type

Lorsque nous essayons de passer un paramètre qui ne se conforme pas à la déclaration de type, PHP rapportera une erreur pendant la phase de compilation. Par exemple:

 <span class="fun">$ Result = Calculateum (5, "10");</span>

L'erreur suivante sera lancée:

Erreur mortelle: non parié.

Types de données prises en charge

Tapez la distinction des types scalaires (tels que des entiers, des nombres de points flottants, des valeurs booléennes, etc.), mais peut également être utilisée dans les tableaux, objets et types personnalisés. Voici quelques exemples:

 <span class="fun">Fonction ProcessArray (Array $ arr): void {</span>
<span class="fun"> // Traitement des tableaux</span>
 <span class="fun">}</span>
 <span class="fun">fonction processObject (myObject $ obj): void {</span>
<span class="fun"> // Traitement des objets</span>
 <span class="fun">}</span>
 <span class="fun">classe MyObject {</span>
<span class="fun"> // Définition de classe</span>
 <span class="fun">}</span>
 <span class="fun">$ MyArray = [1, 2, 3];</span>
 <span class="fun">ProcessArray ($ MyArray); // fonctionne normalement</span>
 <span class="fun">$ myObject = new myObject ();</span>
 <span class="fun">processObject ($ myObject); // fonctionne normalement</span>

Déclaration de type de valeur de retour

En plus de déclarer le type de paramètres de fonction, la réduction de type nous permet également de déclarer le type de valeur de retour de la fonction. Voici un exemple:

 <span class="fun">Fonction Calculateum (int $ a, int $ b): int {</span>
<span class="fun"> retourner $ a + $ b;</span>
 <span class="fun">}</span>
 <span class="fun">$ Résultat = Calculateum (5, 10);</span>
 <span class="fun">Echo $ Résultat; // Sortie 15</span>

Dans cet exemple, la fonction Calculateum déclare explicitement que la valeur de retour est un entier (int). Si le type renvoyé par la fonction ne correspond pas au type déclaré, PHP lancera une erreur de type:

 <span class="fun">Fonction Calculateum (int $ a, int $ b): int {</span>
<span class="fun"> retourner "15";</span>
 <span class="fun">}</span>
 <span class="fun">$ Résultat = Calculateum (5, 10);</span>

Cela lancera l'erreur suivante:

Erreur fatale: non apparenté: la valeur de retour de Calculateum () doit être du type int, chaîne renvoyée

Résumer

La distinction de type est une caractéristique importante introduite par PHP7, qui peut capturer et éviter les erreurs de type pendant la phase de compilation, améliorer la lisibilité et la sécurité de type du code. En spécifiant explicitement les paramètres et les types de fonctions de valeur de retour, les développeurs peuvent réduire efficacement les bogues potentiels et améliorer la qualité du code.