= 5.4, vous pouvez rencontrer l'erreur "Création d'un objet par défaut..."/> = 5.4, vous pouvez rencontrer l'erreur "Création d'un objet par défaut...">
Maison >développement back-end >tutoriel php >Comment résoudre l'erreur « Création d'un objet par défaut à partir d'une valeur vide » en PHP ?
Gestion de l'erreur "Création d'un objet par défaut à partir d'une valeur vide" en PHP
Dans les versions PHP >= 5.4, vous pouvez rencontrer l'erreur " Création d'un objet par défaut à partir d'une valeur vide" lors de la tentative d'accès à une propriété sur un objet non initialisé. Cette erreur signifie que la variable référencée est nulle ou n'est pas un objet.
Solution recommandée :
Pour résoudre ce problème, déclarez la variable en tant qu'instance de stdClass objet dans l'espace de noms global avant d'accéder à son propriétés :
$res = new \stdClass(); $res->success = false;
Explication :
Avec les avertissements E_STRICT activés dans PHP <= 5.3.x ou error_reporting défini sur E_WARNING dans PHP >= 5.4, PHP applique strictement la manipulation des objets. Tenter d'accéder aux propriétés d'une variable nulle ou non-objet déclenchera une erreur. Déclarer la variable en tant qu'objet stdClass garantit qu'il s'agit d'une instance d'objet et que des propriétés peuvent lui être attribuées.
Approches alternatives :
Vous pouvez également utiliser ce qui suit approche pour éviter cette erreur :
if (!isset($res) || !is_object($res)) { $res = new \stdClass(); }
$res = (object) ['success' => false];
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!