Wir haben so viel über PHP gelernt. Ich frage mich, ob Sie die 11 magischen Methoden in PHP vollständig beherrschen. Wenn nicht, folgen Sie diesem Artikel, um mit dem Lernen fortzufahren.
Entwickelt für Eigenschaften, die nicht in der Klasse und ihrer übergeordneten Klasse deklariert sind.
__get( $property ) Auf diese Methode wird zugegriffen, wenn eine undefinierte Eigenschaft aufgerufen wird.
2, __isset, __unset
__isset( $property ) Diese Methode wird aufgerufen, wenn die isset ()-Funktion wird für eine undefinierte Eigenschaft aufgerufen
__call( $method, $arg_array ) beim Aufrufen einer undefinierten Methode (einschließlich keiner Zugriffsberechtigung). besteht darin, diese Methode aufzurufen
4, __autoload
__autoload-Funktion, die automatisch aufgerufen wird, wenn eine Klasse verwendet wird, die nicht definiert wurde. Diese Funktion gibt der Skript-Engine eine letzte Chance, die erforderlichen Klassen zu laden, bevor PHP mit einem Fehler abstürzt.
Hinweis: In der __autoload-Funktion ausgelöste Ausnahmen können vom Catch-Anweisungsblock nicht abgefangen werden und führen zu einem schwerwiegenden Fehler.5, __construct, __destruct
__construct Konstruktor, diese Methode wird aufgerufen, wenn ein Objekt erstellt wird. Der Vorteil besteht darin, dass der Konstruktor einen eindeutigen Namen haben kann, unabhängig vom Namen der Klasse, in der er sich befindet Wenn Sie den Namen der Klasse ändern, müssen Sie den Namen der Konstruktormethode nicht ändern
6. __clone
Die Objektzuweisung in PHP5 verwendet die Referenzzuweisung, wenn das Objekt beim Kopieren des Objekts automatisch die magische Methode __clone aufruft Kann die Methodenimplementierung __clone durchführen.
7, __toString
__toString-Methode wird automatisch aufgerufen, wenn ein Objekt in eine Zeichenfolge konvertiert wird. Wenn die Klasse beispielsweise diese Methode nicht implementiert, kann das Objekt nicht über Echo gedruckt werden. Andernfalls wird Folgendes angezeigt: Abfangbarer schwerwiegender Fehler: Das Objekt der Klasse test konnte nicht in einen String konvertiert werden. Diese Methode muss einen String zurückgeben.
Vor PHP 5.2.0 kann die __toString-Methode nur wirksam werden, wenn sie in Verbindung mit echo() oder print() verwendet wird. Nach PHP 5.2.0 kann es in jeder String-Umgebung wirksam werden (z. B. über printf() unter Verwendung des Modifikators %s), kann jedoch nicht in Nicht-String-Umgebungen verwendet werden (z. B. unter Verwendung des Modifikators %d). Wenn ab PHP 5.2.0 ein Objekt, das die Methode __toString nicht definiert, in einen String konvertiert wird, wird ein E_RECOVERABLE_ERROR-Fehler gemeldet.8, __sleep, __wakeup
__sleep Verwenden Sie
Umgekehrt prüft unserialize() die Existenz einer Funktion mit dem magischen Namen __wakeup. Diese Funktion kann alle Ressourcen rekonstruieren, über die das Objekt verfügt, sofern vorhanden. Der Zweck der Verwendung von __wakeup besteht darin, alle Datenbankverbindungen wiederherzustellen, die möglicherweise während der Serialisierung verloren gegangen sind, und andere Neuinitialisierungsaufgaben zu erledigen.
9. __set_state
Wenn var_export() aufgerufen wird, wird diese statische Methode aufgerufen (gültig seit PHP 5.1.0). Der einzige Parameter dieser Methode ist ein Array mit Klasseneigenschaften, die im Format array('property' => value, ...) angeordnet sind.
10. __invoke
Beim Versuch, ein Objekt durch Aufrufen einer Funktion aufzurufen, wird die __invoke-Methode automatisch aufgerufen. PHP5.3.0 oder höher ist gültig. __callStatic
Es funktioniert ähnlich wie die magische Methode __call(), um statische Methodenaufrufe zu verarbeiten for_ Definition der _callStatic()-Methode; sie muss öffentlich sein und als statisch deklariert werden. Ebenso muss die magische Methode __call() wie alle anderen magischen Methoden als öffentlich definiert werden.
Empfohlenes Lernen: „
PHP-Video-TutorialDas obige ist der detaillierte Inhalt vonVerstehen Sie 11 magische Methoden in PHP in einer Minute. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!