構造函數php
__construct 開發者在一個類中定義一個方法做爲構造函數,具備構造函數的類會在每次建立新對象時先調用此方法,因此很是適合在使用對象以前作一些初始化工做。函數
注意:若是子類中定義了構造函數則不會隱式調用其父類的構造函數。要執行父類的構造函數,須要在子類的構造函數中調用 parent::__construct()。this
例如:spa
<?php class BaseClass{ function __construct(){ echo '建立baseclass構造函數'; } } class SubClass extends BaseClass{ function __construct(){ parent:: __construct(); echo '建立sublcass 構造函數'; } } $obj=new BaseClass(); //在subclass子類的構造函數 $obj=new SubClass(); ?>
析構函數.net
__destructcode
析構函數會在到某個對象的全部引用都被刪除或者當對象被顯式銷燬時執行。對象
<?php class MyDestructableClass { function __construct() { print "In constructor\n"; $this->name = "MyDestructableClass"; } function __destruct() { print "Destroying " . $this->name . "\n"; } } $obj = new MyDestructableClass(); ?>
和構造函數同樣,父類的析構函數不會被引擎暗中調用。要執行父類的析構函數,必須在子類的析構函數體中顯式調用 parent::__destruct()。此外也和構造函數同樣,子類若是本身沒有定義析構函數則會繼承父類的。 blog
析構函數即便在使用 exit() 終止腳本運行時也會被調用。在析構函數中調用 exit() 將會停止其他關閉操做的運行。 繼承