1. 程式人生 > 其它 >php __construct()與__destruct() 函式用法

php __construct()與__destruct() 函式用法

格式:function __construct ( [引數] ) { ... ... }

在一個類中只能宣告一個構造方法,而是隻有在每次建立物件的時候都會去呼叫一次構造方法,不能主動的呼叫這個方法,所以通常用它執行一些有用的初始化任務。比如對成屬性在建立物件的時候賦初值。

<?
//建立一個人類
class Person
{
//下面是人的成員屬性
var $name; //人的名子
var $sex; //人的性別
var $age; //人的年齡

//定義一個構造方法引數為姓名$name、性別$sex和年齡$age
function __construct($name, $sex, $age) {
//通過構造方法傳進來的$name給成員屬性$this->name賦初使值
$this->name = $name;
//通過構造方法傳進來的$sex給成員屬性$this->sex賦初使值
$this->sex = $sex;
//通過構造方法傳進來的$age給成員屬性$this->age賦初使值
$this->age = $age;
}

//這個人的說話方法
function say() {
echo " www.yifangmj.com 我的名子叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this->age;
}
}

解構函式:

與建構函式相對的就是解構函式。解構函式是PHP5新新增的內容,在PHP4中沒有解構函式。 解構函式允許在銷燬一個類之前執行的一些操作或完成一些功能,比如說關閉檔案, 釋放結果集等,解構函式會在到某個物件的所有引用都被刪除或者當物件被顯式銷燬時執行,也就是物件在記憶體中被銷燬前呼叫解構函式。與建構函式的名稱類似, 一個類的解構函式名稱必須是__destruct( )。解構函式不能帶有任何引數。

格式:function __destruct ( ) { ... ... }

<?
//建立一個人類
class Person
{
//下面是人的成員屬性
var $name; //人的名子
var $sex; //人的性別
var $age; //人的年齡

//定義一個構造方法引數為姓名$name、性別$sex和年齡$age
function __construct($name, $sex, $age) {
//通過構造方法傳進來的$name給成員屬性$this->name賦初使值
$this->name = $name;
//通過構造方法傳進來的$sex給成員屬性$this->sex賦初使值
$this->sex = $sex;
//通過構造方法傳進來的$age給成員屬性$this->age賦初使值
$this->age = $age;
}

//這個人的說話方法
function say() {
echo "我的名子叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this->age;
}

//這是一個解構函式,在物件銷燬前呼叫
function __destruct() {
echo "再見" . $this->name;
}
}

?>