PHP7 introduit la fonctionnalité de la déclaration de type scalaire, permettant aux développeurs de spécifier explicitement les types de données pour les paramètres de fonction et les valeurs de retour. Cette fonctionnalité améliore non seulement la fiabilité du code, mais améliore également la maintenabilité. Cet article présentera comment utiliser la déclaration de type scalaire dans PHP7 et donnera des exemples pertinents.
Avant PHP7, PHP était un langage dynamiquement typé et le type de données des variables a été automatiquement déterminé par affectation. Bien que cette flexibilité soit bénéfique dans certains cas, elle peut facilement entraîner des erreurs difficiles à trouver. Par exemple, si le type de paramètre n'est pas validé dans une fonction, le passage d'un type de données incorrect peut entraîner une erreur d'exécution.
La déclaration de type scalaire dans PHP7 peut spécifier quatre types scalaires pour les paramètres de fonction et les valeurs de retour: int (int), float (float), string (string) et bool (boolean). En utilisant des déclarations de type scalaire, les développeurs peuvent gérer plus explicitement les types de données, évitant ainsi les erreurs courantes.
Voici un exemple de fonction déclarée à l'aide de types scalaires:
function multiply(int $a, int $b): int {
return $a * $b;
}
echo multiply(5, 10); // Sortir 50
echo multiply(5, '10'); // Signaler une erreur:Argument 2 must be of the type integer, string given
Dans cet exemple, les arguments et les valeurs de retour de la fonction Multiply sont déclarés Type int. Lorsque nous passons dans deux entiers, la fonction s'exécutera normalement et renvoie le résultat correct. Cependant, si un entier et une chaîne sont passés, PHP rapportera une erreur indiquant que le deuxième paramètre doit être de type entier. Cela évite de gérer des types de paramètres incorrects et garantit la fiabilité du comportement de la fonction.
En plus des types scalaires réguliers, nous pouvons également utiliser certains types spéciaux pour limiter davantage les types de données. Par exemple, vous pouvez utiliser le type de bool pour limiter les paramètres de fonction aux valeurs booléennes:
function isAdult(bool $isAdult): string {
if ($isAdult) {
return 'Adultes';
} else {
return '未Adultes';
}
}
echo isAdult(true); // Sortir Adultes
echo isAdult(1); // Sortir Adultes
echo isAdult(false); // Sortir 未Adultes
echo isAdult(0); // Sortir 未Adultes
Dans cet exemple, le paramètre de la fonction Isadult est déclaré de type bool et la valeur de retour est déclarée comme type de chaîne. Cela garantit que les paramètres de la fonction ne peuvent être que des valeurs booléennes et que la valeur de retour ne peut être qu'une chaîne.
Les déclarations de type scalaire s'appliquent non seulement aux paramètres d'une fonction, mais aussi au type de valeur de retour. En spécifiant un type pour la valeur de retour, l'appelant peut savoir plus clairement le type de données renvoyé. Par exemple:
function divide(int $a, int $b): float {
return $a / $b;
}
echo divide(10, 2); // Sortir 5.0(Numéro de point flottant)
echo divide(10, 3); // Sortir 3.3333333333333(Numéro de point flottant)
Dans l'exemple ci-dessus, les paramètres et les valeurs de retour de la fonction de division sont déclarés respectivement comme des types INT et Float. Même si le résultat est un numéro de point flottant, la valeur de retour est explicitement déclarée comme un type de flotteur, ce qui aide à mieux comprendre le comportement de la fonction et le gérer avec précision.
Il convient de noter que les déclarations de type scalaire ne jettent pas de types de données. Si les types de données entrants ne correspondent pas, PHP tentera d'effectuer automatiquement la conversion de type. Par exemple, lors du passage de la chaîne «10» à un argument à un entier attendu, PHP le convertira automatiquement en entier. Cependant, les développeurs doivent toujours s'assurer que les types de données correspondent autant que possible pour éviter les conversions de type inutile.
En bref, en utilisant la déclaration de type scalaire de PHP7, le code peut être rendu plus clair et fiable. Il aide les développeurs à réduire les erreurs lors du passage des paramètres et facilite le maintien et la compréhension du code. Bien que les déclarations de type scalaire ne soient pas obligatoires, elles sont une bonne pratique pour développer un code PHP de haute qualité.