Heim > Artikel > Backend-Entwicklung > Wozu dient die PHP-Methode __toString()?
„__toString()“ ist eine magische Methode in PHP, die automatisch aufgerufen wird, wenn ein Objekt in einen String umgewandelt wird. Sie wird verwendet, um zu bestimmen, wie eine Klasse reagieren soll, wenn sie als String behandelt wird. Andernfalls wird ein schwerwiegender Fehler der Stufe „E_RECOVERABLE_ERROR“ ausgegeben.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP Version 7.1, DELL G3-Computer
__toString(), die Antwortmethode, wenn die Klasse als String behandelt wird
__toString() ist a Magie in PHP-Methode, die automatisch aufgerufen wird, wenn ein Objekt in einen String konvertiert wird.
Bei der objektorientierten Programmierung bietet PHP eine Reihe magischer Methoden, die viel Komfort beim Programmieren bieten und in PHP eine sehr wichtige Rolle spielen. Magic-Methoden in PHP beginnen normalerweise mit __ (zwei Unterstrichen) und müssen nicht explizit aufgerufen werden, sondern werden unter bestimmten Bedingungen automatisch aufgerufen.
Funktion:
Die Methode __toString() wird verwendet, um festzulegen, wie eine Klasse reagieren soll, wenn sie als String behandelt wird. Zum Beispiel, was „echo $obj;“ anzeigen soll.
Hinweis:
Diese Methode muss eine Zeichenfolge zurückgeben, andernfalls wird ein schwerwiegender Fehler der Stufe „E_RECOVERABLE_ERROR“ ausgegeben.
Warnung:
kann in der Methode __toString() keine Ausnahmen auslösen. Dies führt zu einem schwerwiegenden Fehler.
Code:
<?php class Person { public $sex; public $name; public $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } public function __toString() { return 'go go go'; } } $person = new Person('小明'); // 初始赋值 echo $person;
Ergebnis:
go go go
Was passiert also, wenn es in der Klasse keine magische Methode __toString() gibt? Testen wir es:
Code:
<?php class Person { public $sex; public $name; public $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } } $person = new Person('小明'); // 初始赋值 echo $person;
Ergebnis:
Catchable fatal error: Object of class Person could not be converted to string in D:\phpStudy\WWW\test\index.php on line 18 很明显,页面报了一个致命错误,这是语法所不允许的。
Erweiterte Informationen: Die magische Methode in PHP ist in der folgenden Tabelle dargestellt:
Magische Methode | Funktion |
---|---|
__konstruieren( ) | Wird automatisch aufgerufen, wenn eine Klasse instanziiert wird |
__destruct() | Wird automatisch aufgerufen, wenn das Klassenobjekt aufgebraucht ist |
__set() | Wird automatisch aufgerufen, wenn undefinierten Attributen Werte zugewiesen werden |
__get() | Wird automatisch aufgerufen, wenn undefinierte Eigenschaften aufgerufen werden |
__isset() | Wird automatisch aufgerufen, wenn die Funktion isset() oder empty() verwendet wird |
Wird beim Serialisieren mit Serialize automatisch aufgerufen | |
Wird beim Deserialisieren mit Unserialize automatisch aufgerufen | |
Wird beim Aufruf einer nicht vorhandenen Methode automatisch aufgerufen | |
Wird automatisch aufgerufen, wenn eine nicht vorhandene statische Methode aufgerufen wird. | |
__set_state() | |
__clone() | |
__debugInfo () | |
Empfohlenes Lernen: „ | |
Das obige ist der detaillierte Inhalt vonWozu dient die PHP-Methode __toString()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!