PHP 7.1 ou plus récent (publié le 2 décembre 2016)
Vous pouvez déclarer explicitement une variable null
avec cette syntaxe
function foo(?Type $t) {
}
cela se traduira par
$this->foo(new Type());
$this->foo(null);
$this->foo();
Donc, si vous voulez un argument optionnel, vous pouvez suivre la convention Type $t = null
tandis que si vous devez faire en sorte qu'un argument accepte les deux null
et son type, vous pouvez suivre l'exemple ci-dessus.
Vous pouvez en savoir plus ici .
PHP 7.0 ou plus ancien
Vous devez ajouter une valeur par défaut comme
function foo(Type $t = null) {
}
De cette façon, vous pouvez lui passer une valeur nulle.
Ceci est documenté dans la section du manuel sur les déclarations de type :
La déclaration peut être faite pour accepter des NULL
valeurs si la valeur par défaut du paramètre est définie sur NULL
.