PHP構造方法和解構方法(__construct和__desctruct)

2020-07-16 10:05:09
構造方法是在建立物件時自動呼叫的方法,解構方法是在物件銷毀時自動呼叫的方法。

PHP 構造方法

構造方法常用的場景是在建立物件時用來給變數賦值,構造方法使用__construct定義。

使用範例如下:
<?php
class yourclass{
    public $name;
    public $age;
    function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }
    function get($key){
        return $this->$key;
    }
}
$test_1 = new yourclass('Tom',20);
echo $test_1->get('name');
$test_2 = new yourclass('Jim',30);
echo $test_2->get('age');
?>
執行以上程式的輸出結果為:

Tom 30

PHP 解構方法

解構方法和構造方法正好相反,解構方法是在物件被銷毀前自動執行的方法。解構方法使用__desctruct定義。

PHP 自帶垃圾回收機制,可以自動清除不再使用的物件,釋放記憶體。解構方法在垃圾回收程式執行之前被執行。

使用範例如下:
<?php
class yourclass{
    public $name;
    public $age;
    function __construct($name,$age){
        $this->name = $name;
       $this->age = $age;
    }
    function get($key){
        return $this->$key;
    }
    function __destruct(){
        echo "execute automatically";
    }
}
$test_1 = new yourclass('Tom',20);
echo $test_1->get('name');
echo $test_1->get('age');
?>
執行以上程式的輸出結果為:

Tom 20 execute automatically