isset() sur des propriétés non initialisées
<?php
//declare(strict_types=1);
function foo(float $x): int {
var_dump($x);
return $x;
}
var_dump(foo(1));
//var_dump(foo(1.1));
Les propriétés typées ne peuvent pas être lues tant qu’elles n’ont pas été écrites une première fois. De nombreuses situations nécessitent de vérifier si la propriété est définie avant de l’écrire. Souvent, le type de la propriété est défini comme nullable, afin qu’elle puisse avoir une valeur par défaut de NULL, et être à la fois vérifiée et remplacée.
isset() et l’opérateur ?? sont tous les deux capables de vérifier l’existence d’une propriété non initialisée sans déclencher l’infâme erreur fatale. Grâce à cette astuce, il est possible d’éviter un type nullable sur la propriété, et d’aider l’analyse statique à la gérer proprement.
See Also
PHP Error Messages
PHP Features
Last updated: 04 October 2026