Maison > développement back-end > tutoriel php > Comment fonctionnent les types nullables dans PHP7 et au-delà ?

Comment fonctionnent les types nullables dans PHP7 et au-delà ?

Susan Sarandon
Libérer: 2024-12-06 09:59:14
original
420 Les gens l'ont consulté

How Do Nullable Types Work in PHP7 and Beyond?

Types nullables en PHP7 : comprendre les points d'interrogation

PHP7 a introduit le concept de types nullables, signifié par le point d'interrogation (?) avant une déclaration de type (?string, ?int). Ces types permettent à une valeur d'être soit du type spécifié, soit null.

Paramètres

Lorsque vous marquez un paramètre comme nullable, cela signifie que la fonction peut accepter soit le type spécifié ou null comme argument. Par exemple :

public function (?string $parameter1, string $parameter2) {}
Copier après la connexion

Dans ce cas, la fonction peut recevoir soit une chaîne, soit null pour $parameter1, mais $parameter2 doit être une chaîne.

Type de retour

Les types nullables peuvent également être utilisés pour les valeurs de retour. Cela indique que la fonction peut renvoyer soit le type spécifié, soit null. Par exemple :

function error_func(): int {
    return null; // Invalid in PHP7.1+
}

function valid_func(): ?int {
    return null; // Valid in PHP7.1+
}
Copier après la connexion

Type de propriété (PHP7.4)

PHP7.4 a introduit les types nullables pour les déclarations de propriété. Cela permet à une propriété d'être soit du type spécifié, soit null.

Types d'union nullables (PHP8)

En PHP8, les types nullables sont un raccourci pour l'union des éléments spécifiés. type et nul. Par exemple :

private ?object $bar = null; // PHP7.1+
private object|null $baz = null; // PHP8+
Copier après la connexion

Gestion des erreurs

Dans PHP7.0 et versions antérieures, l'utilisation du point d'interrogation avant une déclaration de type entraînera une erreur de syntaxe. Les versions PHP7.1 accepteront les types nullables.

Références

  • [Types nullables](https://www.php.net/manual/en/ language.types.declarations.php#langage.types.declarations.nullable)
  • [Type de propriétés de classe Déclarations](https://www.php.net/manual/en/langue.oop5.properties.php#langue.oop5.properties.declare)
  • [Type d'union nullable](https://wiki .php.net/rfc/union_types_v2)

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal