什麼是魔術常數?
講解PHP常數的時候,我們知道PHP中的常數大部分都是不變的,但是有8個預定義常數會隨著他們所在代碼位置的變化而變化,這8個常數稱為魔術常數,這些特殊的常數是不區分大小寫,
PHP 的「魔術常數」如下表
函數 | 檢測型別 |
函數 | 檢測型 |
__FILE__ | |
__DIR__ | |
__FUNCTION__ | |
__CLASS__ | |
__TRAIT__ | |
__METHOD__ | |
__NAMESPACE__ |
上表中「__」是兩條下劃線,而不是一條「_」。
魔術常數常被用來取得當前環境資訊或記錄日誌。
下面我看一下這些魔術常數的用法:
__LINE__ 取得檔案中的目前行號。
實例
<?PHP header("content-type:text/html;charset=utf-8"); echo "这是第 ". __LINE__ ."行"; echo "<br/>"; ?>
程式碼運作結果:
__FILE__ 取得檔案的完整路徑和檔案名,如果使用在已包含的檔案名稱中,則傳回已包含的檔案名稱。
__DIR__ 取得文件所在的目錄。如果用在被包含檔案中,則傳回被包含的檔案所在的目錄。
實例
<?php header("content-type:text/html;charset=utf-8"); echo "该文件位于 ". __DIR__ ."文件夹下"; echo "<br/>"; ?>
程式碼運作結果:
__FUNCTION__ 取得此函數定義時的名稱(區分大小寫
__CLASS__ 取得此類別定義時的名字(區分大小寫)
實例
<?php header("content-type:text/html;charset=utf-8"); function Test() { echo "该函数名为:". __FUNCTION__ ; echo "<br/>"; } Test(); ?>METHO___777c777757777號名稱( ,若函數在類別中,則傳回類別方法名稱, 即: 類別名稱::方法名稱。
實例
<?php header("content-type:text/html;charset=utf-8"); class test { function show() { echo "该类名为:". __CLASS__ . "<br>"; echo "该函数名为:". __FUNCTION__ ; echo "<br/>"; } } $t = new test(); $t->show(); ?>
以上是php中的魔術常數實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!