Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Klasseneigenschaften in PHP dynamisch Werte zuweisen?

Wie kann ich Klasseneigenschaften in PHP dynamisch Werte zuweisen?

Mary-Kate Olsen
Freigeben: 2024-12-01 07:30:15
Original
651 Leute haben es durchsucht

How Can I Dynamically Assign Values to Class Properties in PHP?

Dynamische Klasseneigenschaftswertzuweisung in PHP

Das Definieren von Klasseneigenschaften mit konstanten Werten ist der Standardansatz in PHP. In bestimmten Szenarien kann es jedoch erforderlich sein, Werte dynamisch zuzuweisen.

Beispiel:

Bedenken Sie den folgenden Code:

class user {
    public $firstname = "jing";
    public $lastname  = "ping";
    public $balance   = 10;
    public $newCredit = 5;
    public $fullname  = $this->firstname.' '.$this->lastname;
    public $totalBal  = $this->balance+$this->newCredit;
}
Nach dem Login kopieren

Dies Der Code versucht, die Eigenschaften „fullname“ und „totalBal“ dynamisch basierend auf den Werten anderer Eigenschaften zuzuweisen. Aufgrund der Verwendung von $this innerhalb von Eigenschaften auf Klassenebene führt dies jedoch zu einem Analysefehler.

Lösung:

Um Klasseneigenschaftswerte dynamisch zuzuweisen, platzieren Sie die Zuweisungscode innerhalb des Klassenkonstruktors. Zum Beispiel:

class user {
    private $firstname;
    private $lastname;
    private $balance;
    private $newCredit;
    private $fullname;
    private $totalBal;
    
    public function __construct() {
        $this->firstname = "jing";
        $this->lastname  = "ping";
        $this->balance   = 10;
        $this->newCredit = 5;
        $this->fullname  = $this->firstname.' '.$this->lastname;
        $this->totalBal  = $this->balance+$this->newCredit;
    }
}
Nach dem Login kopieren

Erklärung:

Klasseneigenschaften können während der Deklaration keine dynamischen Werte zugewiesen werden. Laut PHP-Handbuch muss die Initialisierung ein konstanter Wert sein, der zur Kompilierungszeit ausgewertet wird. Mithilfe des Konstruktors können die Werte bei der Objekterstellung dynamisch zugewiesen werden.

Das obige ist der detaillierte Inhalt vonWie kann ich Klasseneigenschaften in PHP dynamisch Werte zuweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage