PHP __construct(建構子)和 __destruct(解構子) 使用方法

 

PHP的 __construct(建構子)和 __destruct(解構子)是相當好用的東西

__construct(建構子)經常會用來執行必要動作,例如:資料庫連線、呼叫父類別的函數、執行前的準備工作...等。

__destruct(解構子)則是拿來執行收尾的工作,例如:關閉資料庫連線、清空不必要的變數(如cookie)...等等。

尤其在大型的網站或系統用的越是頻繁

下面就介紹__construct(建構子)和 __destruct(解構子)的使用方法

 

class Demo {

 

    // __construct 這個類別一旦宣告後就直接執行,使用與類別同名的函數名稱也可以達到相同效果(如下)

    function __construct() {

        echo "我是建構子...<br/>";

    }

 

    //在PHP版本5以前使用的方法是使用和class同名的函數來達成 __constuct 的功能

    function Demo(){

       echo "我也會執行...<br/>";

    }

 

//注意:當同名函數與 __constuct()同時存在時,只會執行 __construct 內的動作,而且同名函數如果寫在 __construct 之前會出現警告訊息,因此在使用時強烈建議統一方法就好,避免程式碼管理出現問題

 

    // __destruct 這個類別執行結束之後再執行 __destruct 內的動作

    function __destruct() {

        echo "我是  destructor,類別內的動作執行結束後才執行...<br/>";

    }

    

    //一般要執行函數

    function do_something() {

        echo "do something...<br/>";

    }

}

 

      //宣告物件的執行,這時候已經開始執行 __constuct()內的動作

      $a = new Demo();

      //執行物件內的函數

      $a->do_something();

      //物件內的動作執行完後,此時不需另外呼叫,系統會自動執行 __destruct()內的動作

 

      程式執行結果如下:

       __constrct and __destruct  

 

      如果覺得對你有幫助的話. 請幫小弟按個讚吧~

 

 

文章標籤
創作者介紹

史丹利愛碎念

newaurora 發表在 痞客邦 PIXNET 留言(0) 人氣()