Erstellen ein Standardobjekt aus einem leeren Wert in PHP

Subodh Poudel 21 Januar 2022
  1. Erstellen ein stdClass()-Objekt in PHP
  2. Typecast-Array in Objekt in PHP
  3. Erstellen ein Objekt aus einer anonymen Klasse in PHP
Erstellen ein Standardobjekt aus einem leeren Wert in PHP

Wir werden einige Methoden zum Erstellen von Objekten in PHP und zum Beheben des Fehlers creating default object from empty value vorstellen.

Erstellen ein stdClass()-Objekt in PHP

Wenn wir versuchen, einem Objekt Eigenschaften zuzuweisen, ohne ein Objekt zu initialisieren, wird ein Fehler ausgegeben. Die Fehlermeldung lautet Standardobjekt aus leerem Wert erstellen. Der Fehler hängt auch von der Konfiguration in der Datei php.ini ab. Wenn der Fehler in der Konfiguration unterdrückt wird, wird ein solches Skript den Fehler nicht auslösen. Es ist nicht besser, die Konfigurationsdatei zu ändern, um den Fehler zu unterdrücken, um ihn zu beseitigen. Stattdessen können wir ein stdClass()-Objekt erstellen, um den Fehler zu beheben. Wenn wir eine Variable als Objekt der stdClass() im globalen Namensraum deklarieren, können wir den Objekten dynamisch Eigenschaften zuweisen.

Erstellen Sie beispielsweise eine Variable $obj und setzen Sie diese auf NULL. Setzen Sie dann die Eigenschaft success mit dem Objekt $obj auf false. In diesem Fall wird ein Fehler ausgegeben, wie im Ausgabeabschnitt gezeigt. Dies liegt daran, dass $obj nicht als Objekt initialisiert wurde.

Beispielcode:

$obj = NULL;
$obj->success = true;

Ausgabe:

Warning: Creating default object from empty value

Um den Fehler zu beheben, weisen Sie zunächst der Variablen $obj die Instanz von stdClass() zu. Als nächstes setzen Sie die Eigenschaft success mit $obj auf true. Drucken Sie dann das Objekt $obj mit der Funktion print_r(). Noch besser ist es mit der Funktion isset() zu prüfen, ob $obj bereits existiert. Wir können die Informationen zu $obj im Ausgabeabschnitt sehen. Somit können wir den Fehler beheben, indem wir ein Objekt von stdClass() erstellen.

Beispielcode:

$obj = new stdClass();
$obj->success =true;
print_r($obj);

Ausgabe:

stdClass Object ( [success] => 1 ) 

Typecast-Array in Objekt in PHP

Wir können ein Array in ein Objekt umwandeln, indem wir das Schlüsselwort object vor dem Array verwenden. Auf diese Weise kann das Objekt erstellt werden. Dann können wir dem Objekt die Eigenschaften zuweisen. Da wir das Objekt bereits initialisiert haben, wird beim Zuweisen von Eigenschaften des Objekts kein Fehler ausgegeben. Diese Methode erzeugt auch ein Objekt der Klasse stdClass().

Erstellen Sie beispielsweise eine Variable $obj und weisen Sie diese der Funktion array() zu. Schreiben Sie dann das Schlüsselwort object in Klammern vor array(). Das Array wurde in ein Objekt umgewandelt. Weisen Sie dann der Eigenschaft success mit $obj den Wert true zu. Drucken Sie zum Schluss das Objekt mit der Funktion print_r(). Auf diese Weise können wir ein Objekt erstellen, das ein Array typumwandelt und den Fehler beheben.

Beispielcode:

$obj = (object)array();
$obj->success =true;
print_r($obj);

Ausgabe:

stdClass Object ( [success] => 1 ) 

Erstellen ein Objekt aus einer anonymen Klasse in PHP

Wir können ein Objekt aus einer anonymen Klasse in PHP erstellen und ihm Eigenschaften zuweisen. Wir können das Schlüsselwort new class verwenden, um eine anonyme Klasse zu erstellen. Wir können den Wert der Eigenschaften wie in der generischen Klasse festlegen. Da die Eigenschaft eine Klasse hat und wir mit einem Objekt darauf zugreifen können, wird kein Fehler ausgegeben.

Erstellen Sie beispielsweise ein Objekt $obj, weisen Sie dem Objekt mit dem Schlüsselwort new class eine anonyme Klasse zu. Erstellen Sie dann eine public Eigenschaft $success und setzen Sie den Wert auf true. Außerhalb der Klasse drucken Sie das Objekt mit der Funktion print_r(). Auf diese Weise können wir in PHP ein Objekt aus einer anonymen Klasse erstellen und den Fehler verhindern.

Beispielcode:

$obj = new class {
 public $success = true;
};
print_r($obj);

Ausgabe:

class@anonymous Object ( [success] => 1 ) 
Subodh Poudel avatar Subodh Poudel avatar

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

Verwandter Artikel - PHP Object