Depuis PHP7, les développeurs peuvent spécifier les types de paramètres et les valeurs de retour dans les définitions de fonction, réduisant la nécessité de vérifier manuellement les entrées. Cette syntaxe améliore la clarté du code, tout en capturant simultanément des erreurs de type commun pendant la phase de compilation, ce qui rend le programme plus robuste.
Dans les versions antérieures, les développeurs devaient vérifier les types de paramètres eux-mêmes à l'intérieur de la fonction. PHP7 prend en charge la déclaration des types de paramètres dans les signatures de fonction, simplifiant ce processus. Les exemples sont les suivants:
function calculateTotal(int $price, int $quantity): int {
return $price * $quantity;
}
$total = calculateTotal(10, 5);
echo "Total: $total";
Dans le code ci-dessus, $ Price et $ quantité sont explicitement déclarés comme des types entiers. Si les paramètres passés ne correspondent pas au type, le programme lancera directement une erreur. Cette approche réduit non seulement la vérification des types redondantes, mais rend également la fonction utilisée clairement en un coup d'œil.
En plus des paramètres, PHP7 permet également de spécifier le type de valeur de retour lorsque la fonction est définie, aidant les développeurs à comprendre la sortie attendue de la fonction. Comme indiqué ci-dessous:
function isEven(int $number): bool {
return $number % 2 == 0;
}
$result = isEven(6);
if ($result) {
echo "The number is even";
} else {
echo "The number is odd";
}
La déclaration de type de retour permet à l'appelant d'être clair sur le type de valeur qu'il renvoie lors de l'utilisation de la fonction, ce qui permet d'éviter les erreurs logiques et la confusion de type.
PHP7 prend en charge l'ajout d'un point d'interrogation ( ? ) Avant le type d'indication que le paramètre ou la valeur de retour peut être nul . Ceci est particulièrement utile lors de la gestion des valeurs incertaines telles que les requêtes de base de données, les renvoyages d'interface, etc .:
function getUser(string $username): ?array {
// Interroger les informations utilisateur de la base de données,S'il n'existe pas, retourneznull
$user = getUserFromDatabase($username);
return $user ?: null;
}
$user = getUser("john");
if ($user) {
echo "Username: {$user['username']}";
} else {
echo "User not found";
}
En utilisant des types nullables, les limites de comportement de la fonction deviennent claires et l'appelant peut fabriquer des valeurs nulles correspondantes en conséquence.
Le mécanisme de déclaration de type PHP7 fonctionne parfaitement dans l'amélioration de la lisibilité du code et l'amélioration des capacités de vérification des erreurs. En définissant explicitement les types de données pour les paramètres et les valeurs de retour, il améliore non seulement l'efficacité de développement, mais aide également à créer un système plus fiable et plus facile à maintenir. Qu'il s'agisse d'une fonction d'outil simple ou d'une grande architecture de projet, l'introduction de déclarations de type est une bonne pratique.