Frage

Es ist zwar nicht erforderlich, dass eine Klasse in PHP explizit erweitert wird stdClass, Ich habe mich gefragt, ob es eine Best Practice oder einen Vorteil dabei gibt.

Soll ich verlängern? stdClass beim Deklarieren einer Klasse?

Als Referenz siehe Was ist stdClass in PHP? Und PHP:Objekte, Konvertieren in ein Objekt.

War es hilfreich?

Lösung

StdClass ist leer und Sie haben daher keinen Vorteil darin, es zu erweitern.

Du verschwendest nur extend in deinem __CLASS__˙.

php --rc StdClass
Class [ <internal:Core> class stdClass ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [0] {
  }
}

Der einzige Grund für eine Verlängerung stdClass dient dazu, einen Typhinweis für diese Klasse zu erfüllen. Ein solcher Typhinweis sollte jedoch niemals verwendet werden, da dies ein strittiger Punkt ist.

Andere Tipps

NEIN

Es gibt eine unterhaltsame Verwendung zum Erweitern von stdClass:($object Instanz von stdClass) gibt true zurück und ist 3x schneller als is_object($object).Wir sprechen von einer 1 MikroDer zweite Unterschied besteht jedoch leider darin, dass er leicht inkohärent und somit eher verwirrend als hilfreich werden kann, wenn man ihn nicht während des gesamten Projekts zu einer strikten Richtlinie macht.Tatsächlich bin ich enttäuscht, als ich erfahre, dass PHP-Klassen stdClass nicht standardmäßig erweitern.Hätte für mich Sinn gemacht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top