Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Zaubermethode: __construct __destruct
Ab PHP5 und späteren Versionen können Klassen magische Methoden verwenden. PHP legt fest, dass Methoden, die mit zwei Unterstrichen (__) beginnen, als magische Methoden reserviert sind. Daher wird empfohlen, dass Funktionsnamen nicht mit __ beginnen, es sei denn, dies dient dazu, vorhandene magische Methoden zu überlasten.
Zu den vorhandenen magischen Methoden in PHP gehören __construct, __destruct, __call, __get, __set, __isset, __unset, __sleep, __wakeup, __toString, __set_state und __clone.
In diesem Abschnitt geht es um __construct, __destruct:
__construct() – Diese Methode wird jedes Mal aufgerufen, wenn ein neues Objekt erstellt wird
__destruct() – Wird ausgeführt, wenn alle Verweise auf das Objekt gelöscht werden oder wenn das Objekt explizit zerstört wird
<?php /** * 清晰的认识__construct() __destruct */ class Example { public static $link; //在类实例化的时候自动加载__construct这个方法 public function __construct($localhost, $username, $password, $db) { self::$link = mysql_connect($localhost, $username, $password); if (mysql_errno()) { die('错误:' . mysql_error()); } mysql_set_charset('utf8'); mysql_select_db($db); } /** * 通过__construct链接好数据库然后执行sql语句...... */ //当类需要被删除或者销毁这个类的时候自动加载__destruct这个方法 public function __destruct() { echo '<pre class="brush:php;toolbar:false">'; var_dump(self::$link); mysql_close(self::$link); var_dump(self::$link); } } $mysql = new Example('localhost', 'root', 'root', 'test');
Ergebnis:
resource(2) of type (mysql link) resource(2) of type (Unknown)
Das Obige stellt die PHP-Magic-Methode vor: __construct __destruct, einschließlich des Inhalts der PHP-Magic-Methode. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.