Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Zaubermethode: __construct __destruct

PHP-Zaubermethode: __construct __destruct

WBOY
WBOYOriginal
2016-08-08 09:33:072153Durchsuche

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.

Stellungnahme:
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
Vorheriger Artikel:Onthink-StudienaufsätzeNächster Artikel:Onthink-Studienaufsätze