Les types nullables sont une fonctionnalité puissante introduite dans PHP 7.1 qui vous permet de déclarer des variables, des paramètres et des valeurs de retour comme nullables. Cela signifie qu'ils peuvent accepter ou renvoyer soit le type spécifié, soit NULL.
Utilisation d'un point d'interrogation (?) avant la déclaration de type dans la fonction paramètres indique que le paramètre peut être soit du type spécifié, soit NULL. Par exemple :
public function (?string $parameter1, string $parameter2) {}
Dans cet exemple, les deux paramètres peuvent être nullables. Vous pouvez transmettre une valeur de chaîne ou NULL comme argument à la fonction.
De même, le type de retour d'une fonction peut être déclaré comme nullable. en utilisant la syntaxe du point d'interrogation. Cela indique que la fonction peut renvoyer soit le type spécifié, soit NULL. Par exemple :
function error_func(): int { return null ; // Uncaught TypeError: Return value must be of the type integer } function valid_func(): ?int { return null ; // OK }
À partir de PHP 7.4, vous pouvez également déclarer les types de propriétés comme nullables. Cela permet aux propriétés d'avoir soit le type spécifié, soit NULL. Par exemple :
class Foo { private ?object $bar = null; // OK : can be null (nullable type) }
PHP 8.0 a introduit une notation abrégée pour les types d'union nullables. Écrire "?T" équivaut à "T|null". Cela permet des déclarations de type plus concises.
class Foo { private object|null $baz = null; // as of PHP 8.0 }
Si vous essayez d'utiliser la syntaxe du point d'interrogation avec Versions PHP inférieures à 7.1, vous rencontrerez une erreur de syntaxe. Dans de tels cas, vous devez supprimer le point d'interrogation.
Les types nullables offrent un moyen pratique de gérer les valeurs nullables en PHP. Ils vous permettent de déclarer qu'une variable, un paramètre ou une valeur de retour peut être soit d'un type spécifique, soit NULL, rendant votre code plus robuste et plus facile à maintenir.
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!