Die Klasse stdClass

(PHP 4, PHP 5, PHP 7, PHP 8)

Einführung

Eine generische leere Klasse mit dynamischen Eigenschaften.

Objekte dieser Klasse können mit dem Operator new instanziiert oder durch Konvertierung in ein Objekt erzeugt werden. Auch mehrere PHP-Funktionen erzeugen Instanzen dieser Klasse, z. B. json_decode(), mysqli_fetch_object() oder PDOStatement::fetchObject().

Obwohl diese Klasse die magischen Methoden __get()/__set() nicht implementiert, lässt sie dynamische Eigenschaften zu und benötigt das Attribut #[\AllowDynamicProperties] nicht.

Da PHP kein Konzept einer universellen Basisklasse hat, handelt es sich hierbei nicht um eine Basisklasse. Es ist jedoch möglich, eine benutzerdefinierte Klasse zu erstellen, die von stdClass erweitert wird und dadurch die Funktionalität der dynamischen Eigenschaften erbt.

Klassenbeschreibung

class stdClass {
}

Diese Klasse hat weder Methoden noch Standardeigenschaften.

Beispiele

Beispiel #1 Erzeugt durch eine Typumwandlung in ein Objekt

<?php
$obj
= (object) array('foo' => 'bar');
var_dump($obj);

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(stdClass)#1 (1) {
  ["foo"]=>
  string(3) "bar"
}

Beispiel #2 Erzeugt mittels json_decode()

<?php
$json
= '{"foo":"bar"}';
var_dump(json_decode($json));

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(stdClass)#1 (1) {
  ["foo"]=>
  string(3) "bar"
}

Beispiel #3 Deklarieren dynamischer Eigenschaften

<?php
$obj
= new stdClass();
$obj->foo = 42;
$obj->{1} = 42;
var_dump($obj);

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(stdClass)#1 (2) {
  ["foo"]=>
  int(42)
  ["1"]=>
  int(42)
}
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top