Heim  >  Artikel  >  Backend-Entwicklung  >  Was nützt new StdClass() in PHP?

Was nützt new StdClass() in PHP?

巴扎黑
巴扎黑Original
2017-08-09 15:00:362551Durchsuche

Die Rolle von new StdClass() in PHP: new StdClass() kann verwendet werden, um ein leeres Objekt ohne Mitgliedsmethoden zu erstellen. Die Syntax lautet: [$object = new StdClass();]. Die StdClass-Klasse verfügt weder über Mitgliedsmethoden noch über Mitgliedseigenschaften.

Was nützt new StdClass() in PHP?

stdClass ist eine Basisklasse von PHP. Fast alle Klassen erben diese Klasse, sodass sie jederzeit neu sein kann, wodurch diese Variable zu einem Objekt wird . Gleichzeitig verfügt stdClass nach der Instanziierung über keine Eigenschaften und Methoden, dh es handelt sich um ein leeres Objekt.

PHP kann $object = new StdClass(); verwenden, um ein leeres Objekt ohne Mitgliedsmethoden und -eigenschaften zu erstellen.

Oft legen Programmierer einige Informationen wie Parameterkonfigurationselemente zur Verwendung in Arrays fest, aber Array-Operationen sind nicht sehr praktisch. Oft werden Objektoperatoren->xxx anstelle von Array-Operationen verwendet. 'xxx'] ist viel praktischer. Sie müssen also ein leeres Objekt erstellen, um die erforderlichen Attributnamen und Attributwerte im Objekt zu speichern.

Allerdings gibt es in PHP keine Syntax wie var object = {}; in Javascript.

Es gibt mindestens drei Möglichkeiten, ein leeres Objekt in PHP zu erstellen

Methode 1: Schreiben Sie eine leere Klasse

Es kann die Aufgabe kaum erledigen , aber das Muster hat nichts Besonderes.

<?php
  class cfg {
  }
  $cfg = new cfg;
  $cfg->dbhost = &#39;www.php.cn&#39;;
  echo $cfg->dbhost;
?>

Methode 2: Instanziieren Sie die StdClass-Klasse

Die StdClass-Klasse ist eine Basisklasse in PHP. Was jedoch seltsam ist, ist, dass es fast keine Erwähnung gibt davon im PHP-Handbuch. Wenn Sie diese Klasse jemals gesehen haben, können Sie sie zumindest im PHP-Index nicht finden.

Die StdClass-Klasse verfügt über keine Mitgliedsmethoden oder Mitgliedsattribute. Nach der Instanziierung ist sie ein leeres Objekt.

<?php
  $cfg = new StdClass();
  $cfg->dbhost = &#39;www.php.cn&#39;;
  echo $cfg->dbhost;
?>

Methode 3: Werfen Sie json_encode() und json_decode() weg

Diese Methode besteht darin, ein leeres JSON-Objekt über json_decode() StdClass leeres Objekt in PHP zu konvertieren .

Aus dem gleichen Grund können Sie ein Array über json_encode() in JSON konvertieren und dann über json_decode()

JSON in ein StdClass-Objekt konvertieren zum PHP-Handbuch.

<?php
  $cfg = json_decode(&#39;{}&#39;);
  $cfg->dbhost = &#39;www.php.cn&#39;;
  echo $cfg->dbhost;
?>
Weitere Informationen zu diesem Thema finden Sie auf der

PHP-Website für Chinesisch! !

Das obige ist der detaillierte Inhalt vonWas nützt new StdClass() in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn