PHP OOP 魔術方法

2022-03-04 20:32:44 字數 1476 閱讀 6673

1、__construct():建構函式,new乙個新物件時,自動呼叫   

[public] function __construct($name=""

)

2、__destruct():析構函式,當乙個物件被銷毀前,自動呼叫 

function __destruct()

3、__get():訪問類中私有屬性時,自動呼叫。傳遞讀取的屬性名,返回$this->屬性名  

function __get($key)

return $this->$key;

}

4、__set():給類的私有屬性賦值時,自動呼叫。傳遞需要設定的屬性名和屬性值

function __set($key,$value)

$this->$key =$value;

}

5、__isset():使用isset()檢測物件私有屬性時,自動呼叫。傳遞檢測的屬性名,返回isset($this->屬性名)

function __isset($name)

6、__unset():使用unset()刪除物件私有屬性時,自動呼叫。傳遞刪除的函式名,方法中執行unset($this->屬性名)

function __unset($name) 

unset($

this->$name);

}

7、__tostring():使用echo列印物件時,自動呼叫。返回想要在列印物件時顯示的內容,返回必須是字串

function __tostring();

\$age => ;

str;

return

$str;

}

8、__call():呼叫乙個類中未定義或未公開的方法時,自動呼叫。傳遞被呼叫的函式名,和引數列表陣列

function __call($funcname,$funcparams),引數列表";

print_r($funcparams)

}

9、__clone():當使用clone關鍵字轉殖乙個物件時,自動呼叫。作用是為新轉殖的物件進行初始化賦值

function __clone()

10、__sleep():物件反序列化時,自動呼叫。返回乙個陣列,陣列中的值就是可以序列化的屬性

function __sleep()

11、__wakeup():物件反序列化時,自動呼叫。為反序列化新產生的物件,進行初始化賦值

function __wakeup()

12、__autoload():需要在類外部宣告函式。當例項化乙個未宣告的類時,自動呼叫。傳遞例項化的類名,可以使用類名自動載入對應的類檔案

function __autoload($classname)

php oop 魔術方法的應用

一 魔術方法時以兩個下劃線 開頭 具有特殊作用的一些方法,可以看作php的 語法糖 1 set get是兩個比較重要的魔術方法。其作用為 當給物件屬性 賦值或取值時,即使這個屬性不存在,也不會報錯,會 自動執行 set get方法,一定程度上增強了程式的健壯性。下邊有個好玩的用法,僅供欣賞 輸出最終...

PHP OOP程式設計 靜態方法

當程式設計師對靜態屬性進行操作的時候可以定義靜態方法來操作靜態屬性 靜態方法的基本語法 class 類 通過類名在外部直接呼叫靜態方法 1.在類外部呼叫靜態方法 類名 靜態方法 物件 靜態方法 物件 靜態方法 2.在類的內部方法呼叫 self 靜態方法名 或者 類名 靜態方法名 this 也是 3....

php oop基礎 靜態屬性方法

靜態屬性也就是說它的值保持其值,比如在類中例項化了n個物件,那麼你可以在建構函式中定義乙個靜態屬性來記住物件的個數。類中的靜態屬性和靜態變數差不多,只不過在類中似乎又多了乙個些使用上的限制罷了。讓我們看看一般的變數吧 function test test test test test test te...