Sollte ich beim Erstellen meiner eigenen Klassen in PHP stdClass erweitern?
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.
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.