Créer un objet par défaut à partir d'une valeur vide en PHP
-
Créer un objet
stdClass()
en PHP - Typecast Array In Object en PHP
- Créer un objet à partir d’une classe anonyme en PHP
Nous allons présenter quelques méthodes pour créer des objets en PHP et résoudre l’erreur creating default object from empty value
.
Créer un objet stdClass()
en PHP
Lorsque nous essayons d’affecter les propriétés d’un objet sans initialiser un objet, une erreur sera renvoyée. L’erreur dira creating default object from empty value
. L’erreur dépend aussi de la configuration dans le fichier php.ini
. Lorsque l’erreur est supprimée dans la configuration, un tel script ne lancera pas l’erreur. Il n’est pas préférable de modifier le fichier de configuration pour supprimer l’erreur afin de s’en débarrasser. Au lieu de cela, nous pouvons créer un objet stdClass()
pour éliminer l’erreur. Lorsque nous déclarons une variable en tant qu’objet de la stdClass()
dans l’espace de noms global, nous pouvons affecter dynamiquement des propriétés aux objets.
Par exemple, créez une variable $obj
et définissez-la sur NULL
. Ensuite, définissez la propriété success
sur false
avec l’objet $obj
. Dans ce cas, une erreur sera renvoyée, comme indiqué dans la section de sortie. C’est parce que $obj
n’a pas été initialisé en tant qu’objet.
Exemple de code :
$obj = NULL;
$obj->success = true;
Production :
Warning: Creating default object from empty value
Pour éliminer l’erreur, affectez d’abord la variable $obj
avec l’instance de stdClass()
. Ensuite, définissez la propriété success
sur true
avec le $obj
. Ensuite, imprimez l’objet $obj
à l’aide de la fonction print_r()
. Il est encore mieux d’utiliser la fonction isset()
pour vérifier si $obj
existe déjà. Nous pouvons voir les informations sur $obj
dans la section de sortie. Ainsi, nous pouvons éliminer l’erreur en créant un objet de stdClass()
.
Exemple de code :
$obj = new stdClass();
$obj->success =true;
print_r($obj);
Production :
stdClass Object ( [success] => 1 )
Typecast Array In Object en PHP
Nous pouvons transtyper un tableau vers un objet en utilisant le mot-clé object
avant le tableau. De cette façon, l’objet peut être créé. Ensuite, nous pouvons affecter les propriétés à l’objet. Puisque nous avons déjà initialisé l’objet, aucune erreur ne sera générée lors de l’attribution des propriétés de l’objet. Cette méthode crée également un objet de la classe stdClass()
.
Par exemple, créez une variable $obj
et affectez-la à la fonction array()
. Ensuite, écrivez le mot-clé object
entre parenthèses avant array()
. Le tableau a été converti en objet. Ensuite, attribuez la valeur true
à la propriété success
avec le $obj
. Enfin, imprimez l’objet avec la fonction print_r()
. De cette façon, nous pouvons créer un objet en transtypant un tableau et éliminer l’erreur.
Exemple de code :
$obj = (object)array();
$obj->success =true;
print_r($obj);
Production :
stdClass Object ( [success] => 1 )
Créer un objet à partir d’une classe anonyme en PHP
Nous pouvons créer un objet à partir d’une classe anonyme en PHP et lui attribuer des propriétés. Nous pouvons utiliser le mot-clé new class
pour créer une classe anonyme. Nous pouvons définir la valeur des propriétés comme dans la classe générique. Étant donné que la propriété aura une classe et que nous pouvons y accéder avec un objet, aucune erreur ne sera renvoyée.
Par exemple, créez un objet $obj
affectez une classe anonyme en utilisant le mot-clé nouvelle classe
à l’objet. Créez ensuite une propriété public
$success
et définissez la valeur sur true
. En dehors de la classe, imprimez l’objet avec la fonction print_r()
. De cette façon, nous pouvons créer un objet à partir d’une classe anonyme en PHP et éviter l’erreur.
Exemple de code :
$obj = new class {
public $success = true;
};
print_r($obj);
Production :
class@anonymous Object ( [success] => 1 )
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn