盤點PHP最實用的5大魔術方法及其功能作用

原始碼時代發表於2018-08-02

PHP是一門非常優秀的指令碼程式語言,與其它程式語言有一個非常不同的地方,那就是魔術方法,PHP有非常多的魔術方法用於實現一些非常不可思議的功能。

啥是PHP的魔術方法?

在定義類時,以兩個下劃線字元(__)開頭的方法都是魔術方法,而且方法名都是PHP預先定義好的,每一個都擁有魔術般的功能。我們自己在定義方法時,不建議使用兩個下劃線字元開頭,這樣會與PHP的魔術方法混淆。

 

PHP有哪些魔術方法?

PHP提供了非常多的魔術方法,比如: __construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 等等,今天我來給大家說說其中非常實用的5個。

 

第1:__construct()構造方法

執行時機:在使用 new關鍵字使用類例項化一個物件時自動執行

功能作用:通常用於對物件的屬性進行初始化

用法示例:

 

如何記住:construct 含義:構成;修建;建造; 讀音: [kənˈstrʌkt] ,可以理解為構造物件的方法,在構造物件時自動執行。

第2:__destruct()析構方法

執行時機:在物件被銷燬(unset或PHP執行結束)時自動執行

功能作用:通常用於釋放物件佔用的第三方資源(如:資料庫)

用法示例:

 

如何記住:destruct 含義:破壞;破壞的; 讀音: [dɪ'strʌkt]

第3:__toString()轉換字串

執行時機:在物件被當成字串使用時自動執行

功能作用:相容物件的字串呼叫形式,根據使用者需求顯示出物件的字串形態

用法示例:

 

如何記住:toString 含義:to到;向,朝著; String 字串; 讀音: [tu,tə] [strɪŋ]

第4:__invoke()函式呼叫方法

執行時機:在物件被當成函式使用時自動執行

功能作用:相容物件的函式呼叫形式,允許使用者像使用函式一樣使用物件

用法示例:

 

如何記住:invoke 含義:援引;乞靈;祈求; 讀音: [ɪnˈvoʊk]

第5:__clone()克隆方法

執行時機:在克隆(clone)物件時自動執行

功能作用:在克隆物件時可以同時執行一些其它操作,甚至可以阻止物件被克隆

用法示例:

 

如何記住:clone 含義:複製;克隆; 讀音: [kloʊn]

總述,PHP提供了很多這樣的魔術方法,他們都有神奇的功能,在做相應的操作時都會自動執行,由於時間關係我們本次就只能盤點PHP這5大魔術方法及其功能作用,如果對本次總結的魔術方法或其它的PHP魔術方法有疑惑也可以隨時來原始碼時代一起討論交流哦。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31544234/viewspace-2168943/,如需轉載,請註明出處,否則將追究法律責任。

相關文章