vendredi 25 septembre 2026

À propos

Contact

Lexique · PHP

Type nullable

En anglais : « Nullable type »

Déclaration de type précédée d'un point d'interrogation qui autorise explicitement la valeur « null » en plus du type indiqué.

Déclarer qu’un paramètre est de type string interdit normalement de lui passer null. Or il arrive légitimement qu’une valeur soit absente — un utilisateur sans avatar, un article sans image mise en avant. Le type nullable sert précisément à documenter ce cas : « une chaîne, ou rien du tout », plutôt que de devoir élargir le type ou renoncer au typage.

Syntaxe en PHP

On le note en préfixant le type d’un point d’interrogation : function trouverAuteur(?int $id): ?WP_User accepte un identifiant absent et peut renvoyer aucun utilisateur trouvé. Depuis PHP 8.1, l’union de types int|null est une écriture équivalente, plus explicite dans certains cas complexes.

Dans WordPress

De nombreuses fonctions du cœur renvoient null ou false en cas d’échec, par exemple get_page_by_path() qui renvoie null si aucune page ne correspond. Documenter une fonction personnalisée avec un type de retour nullable évite d’appeler une méthode sur un résultat qui pourrait ne pas exister, une source fréquente d’erreurs fatales.

Exemple

function recupererReglage(string $cle): ?string {
    $valeur = get_option($cle);
    return $valeur !== false ? (string) $valeur : null;
}

$langue = recupererReglage('wpm_langue') ?? 'fr';

Pièges fréquents

Un type nullable ne dispense pas de vérifier la valeur avant de l’utiliser : appeler une méthode directement sur un résultat potentiellement null provoque toujours une erreur fatale. Notez aussi qu’un paramètre dont la valeur par défaut est null devient implicitement nullable en PHP, même sans point d’interrogation, ce qui surprend parfois à la lecture.