La validation des types de paramètres de fonction personnalisée en PHP peut appliquer les types de paramètres pour garantir qu'ils sont comme prévu, améliorant ainsi la robustesse du code. Ceci peut être réalisé par : Indices de type : déclarez les types attendus de paramètres de fonction, les types incompatibles lèveront une exception. Conversion de type : utilisez la fonction ou l'opérateur settype pour convertir une variable en un type spécifié. Inférence de type : PHP déduit automatiquement les types de variables, par exemple lors de l'attribution de valeurs. Validation personnalisée : créez une fonction de validation personnalisée pour valider des types spécifiques (tels que les dates). Cas pratique : démontrer l'utilisation de la vérification personnalisée via la fonction de vérification du nom pour garantir que la longueur et le format du nom répondent aux exigences.
En PHP, la validation de type des paramètres de fonction vous permet de forcer les types de paramètres transmis pour vous assurer qu'ils correspondent aux attentes. Cela contribue à améliorer la robustesse et la fiabilité de votre code.
PHP 7.0 a introduit des indices de type, vous permettant de déclarer les types attendus de paramètres de fonction. Vous pouvez utiliser des types intégrés ou créer vos propres classes.
function sum(int $num1, int $num2) { return $num1 + $num2; }
Si les paramètres transmis ne correspondent pas au type déclaré, PHP lancera une exception TypeError
. TypeError
异常。
PHP 支持类型转换和类型推断:
settype
settype
ou l'opérateur de conversion pour convertir la variable dans le type spécifié. // 类型转换 $int = (int) '10'; // 类型推断 $array = [1, 2, 3];
Vérification de type personnalisé
function validateDate(string $date): bool { if (preg_match('/^[0-9]{4}-[0-1][0-9]-[0-3][0-9]$/', $date)) { return true; } return false; } function formatDate(string $date) { if (!validateDate($date)) { throw new InvalidArgumentException('Invalid date format.'); } //... }
Cas pratique
function validateName(string $name): void { if (strlen($name) < 3 || strlen($name) > 25) { throw new InvalidArgumentException('Name must be between 3 and 25 characters long.'); } if (!preg_match('/^[a-zA-Z ]+$/', $name)) { throw new InvalidArgumentException('Name must contain only letters and spaces.'); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!