首頁 >後端開發 >PHP問題 >php魔術是什麼意思

php魔術是什麼意思

藏色散人
藏色散人原創
2021-03-11 10:18:572119瀏覽

php中魔術有兩種意思,分別是:1、指魔術方法,PHP將所有以兩個底線開頭的類別方法保留為魔術方法;2、指魔術常數,PHP向它運行的任何腳本提供了大量的預定義常數。

php魔術是什麼意思

本文操作環境:windows7系統、PHP7.1版,DELL G3電腦

魔術方法 

#PHP 將所有以__(兩個底線)開頭的類別方法保留為魔術方法。所以在定義類別方法時,除了上述魔術方法,建議不要以 __ 為前綴。

__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(),__serialize(), __unserialize(), __toString(),__invoke(),__set_state(), __clone() 和__debugInfo() 等方法在PHP 中稱為魔術方法(Magic methods)。在命名自己的類別方法時不能使用這些方法名,除非是想使用其魔術功能。

注意: 所有的魔術方法必須宣告為public

魔術常數 

PHP 向它執行的任何腳本提供了大量的預設常數。不過很多常數都是由不同的擴充函式庫定義的,只有在載入了這些擴充函式庫時才會出現,或是動態載入後,或是在編譯時已經包含進去了。

有八個魔術常數它們的值隨著它們在程式碼中的位置改變而改變。例如 __LINE__ 的值就依賴它在腳本中所處的行來決定。這些特殊的常數不區分大小寫,如下:

幾個 PHP 的「魔術常數」

##__LINE__ :檔案中的目前行號。

__FILE__ :檔案的完整路徑和檔案名稱。如果用在被包含檔案中,則傳回被包含的檔案名稱。

__DIR__ :檔案所在的目錄。如果用在被包含檔案中,則傳回被包含的檔案所在的目錄。它等價於 dirname(__FILE__)。除非是根目錄,否則目錄中名不包括末尾的斜杠。

__FUNCTION__ :目前函數的名稱。匿名函數則為 {closure}。

__CLASS__ :目前類別的名稱。類別名稱包括其被宣告的作用區域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 對 trait 也起作用。當用在 trait 方法時,__CLASS__ 是呼叫 trait 方法的類別的名字。

__TRAIT__ :Trait 的名字。 Trait 名包括其被聲明的作用區域(例如 Foo\Bar)。

__METHOD__ :類別的方法名稱。

__NAMESPACE__ :目前命名空間的名稱。

ClassName::class :完整的類別名,請參閱 ::class。

請參閱 get_class() get_object_vars(), file_exists() 和 function_exists()。

【推薦學習:《

PHP影片教學》】

以上是php魔術是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn