Dynamische Klasseneigenschaftswertzuweisung in PHP
Ihr Code schlägt fehl, weil PHP-Klasseneigenschaften bei der Deklaration oder im Konstruktor Werte zugewiesen werden müssen. Sie können während der Initialisierung nicht auf andere Eigenschaften verweisen.
Um dieses Problem zu beheben, können Sie die Eigenschaften im Konstruktor mithilfe der Methode __construct definieren:
public function __construct() { $this->fullname = $this->firstname . ' ' . $this->lastname; $this->totalBal = $this->balance + $this->newCredit; }
Warum nicht während der Initialisierung?
Wie es im PHP-Handbuch heißt, muss die Klasseneigenschaftsinitialisierung „ein konstanter Wert sein, der sein kann.“ wird zur Kompilierungszeit ausgewertet und darf nicht von Laufzeitinformationen abhängen. Dadurch wird sichergestellt, dass Eigenschaften bei der Klasseninstanziierung feste Werte haben, noch bevor Methoden aufgerufen werden.
Weitere Informationen finden Sie in der PHP-Dokumentation zu OOP-Eigenschaften: http://php.net/manual/en/sprache .oop5.properties.php
Das obige ist der detaillierte Inhalt vonWie kann ich PHP-Klasseneigenschaften dynamisch Werte zuweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!