Maison > Article > développement back-end > Fonctionnalité d'indication de type dans PHP7 : Comment clarifier les types de paramètres des fonctions pour éviter les erreurs et les incertitudes ?
Fonctionnalité Type Hinting en PHP7 : Comment clarifier le type de paramètre d'une fonction pour éviter les erreurs et les incertitudes ?
Introduction :
Au cours du processus de développement, nous rencontrons souvent le problème du passage des paramètres de fonction. Parfois, des erreurs et des incertitudes surviennent en raison de types de paramètres de fonction peu clairs. Pour résoudre ce problème, PHP7 a introduit la fonctionnalité Type Hinting, qui nous permet de spécifier explicitement le type de paramètres de fonction, évitant ainsi certaines erreurs courantes et réduisant l'incertitude. Cet article présentera en détail l’utilisation de Type Hinting dans PHP7 et fournira des exemples de code spécifiques.
1. Le concept de Type Hinting :
Type Hinting est un moyen de déclarer des types de paramètres de fonction. En préfixant un paramètre de fonction avec un type spécifié, vous pouvez vous assurer que la valeur transmise à la fonction est du type attendu. Si les types transmis ne correspondent pas, une erreur fatale est générée.
2. Utilisation du Type Hinting :
En PHP7, nous pouvons utiliser les méthodes suivantes pour effectuer le Type Hinting :
71a5c0ce21edb084a5777bae1742fc2a, 7e00dfbe372dc511c53a4bfa850feaa7, 9eac9cfd9e022188a134e2cbc39820d5, 0e2ea47d5eae65f8b4d535dca655670f, bd43222e33876353aff11e13a7dc75f6, 98c455a79ddfebb79781bff588e7b37e
). Voici un exemple : 71a5c0ce21edb084a5777bae1742fc2a、7e00dfbe372dc511c53a4bfa850feaa7、9eac9cfd9e022188a134e2cbc39820d5、0e2ea47d5eae65f8b4d535dca655670f、bd43222e33876353aff11e13a7dc75f6、98c455a79ddfebb79781bff588e7b37e
)。下面是一个例子:function addNumbers(int $a, int $b): int { return $a + $b; } echo addNumbers(5, 10); // 输出15 echo addNumbers("5", 10); // 报错,因为"5"不是一个整数
在上面的例子中,函数addNumbers
的参数$a
和$b
被指定为整数。如果传入的值不是整数类型,则会产生一个致命错误。
class User { // ... } class UserService { public function register(User $user) { // ... } } $user = new User(); $service = new UserService(); $service->register($user); // 正确 $service->register("abc"); // 报错,因为"abc"不是 User 类的实例
在上面的例子中,函数register
的参数$user
被指定为User
类的实例。如果传入的值不是User
类的实例,则会产生一个致命错误。
null
值,可以使用?
将参数类型标记为可为空类型。下面是一个例子:function searchUser(?string $keyword): array { // ... } var_dump(searchUser("John")); // array(1) { [0]=> string(4) "John" } var_dump(searchUser(null)); // array(0) { }
在上面的例子中,函数searchUser
的参数$keyword
被指定为字符串类型,但可以接受null
值。如果传入的值不是字符串类型或null
Dans l'exemple ci-dessus, les paramètres $a
et $b
de la fonction addNumbers
sont spécifiés sous forme d'entiers . Si la valeur transmise n'est pas de type entier, une erreur fatale est générée.
$user
de la fonction register
est spécifié comme une instance de User
classe. Si la valeur transmise n'est pas une instance de la classe User
, une erreur fatale est générée. null
, nous pouvons utiliser ?
pour marquer le type de paramètre comme disponible. un type vide. Voici un exemple : $keyword
de la fonction searchUser
est spécifié comme type de chaîne, mais peut accepter null valeur. Si la valeur transmise n'est pas de type chaîne ou <code>null
, une erreur fatale est générée.
3. Avantages de l'indication de type :
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!