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 ?

Comment résoudre l'erreur « Création d'un objet par défaut à partir d'une valeur vide » en PHP ?

Linda Hamilton
Libérer: 2024-12-19 12:34:09
original
729 Les gens l'ont consulté

How to Solve the

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;
Copier après la connexion

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 :

  • Vérifiez si la variable est nulle ou n'est pas un objet avant d'accéder à son propriétés :
if (!isset($res) || !is_object($res)) {
    $res = new \stdClass();
}
Copier après la connexion
  • Instancier directement un objet avec les propriétés souhaitées :
$res = (object) ['success' => false];
Copier après la connexion

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