__METHOD__ 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。
__FUNCTION__ 函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
文檔解釋都是說返回函數(方法)的名字。區別在於:
__FUNCTION__只是返回方法的名字;
__METHOD__返回類的名字和方法的名字。
1 <?php 2 class Test{ 3 public function doit(){ 4 echo __FUNCTION__; 5 } 6 public function doitAgain(){ 7 echo __METHOD__; 8 } 9 } 10 $obj = new Test(); 11 $obj->doit(); 12 echo '<br>'; 13 $obj->doitAgain(); 14 ?>
輸出結果為:
doit
Test::doitAgain
__LINE__ 文件中的當前行號。
__FILE__ 文件的完整路徑和文件名。如果用在被包含文件中,則返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑(如果是符號連接,則是解析後的絕對路徑),而在此之前的版本有時會包含一個相對路徑。
__DIR__ 文件所在的目錄。如果用在被包括文件中,則返回被包括的文件所在的目錄。它等價於 dirname(__FILE__)。除非是根目錄,否則目錄中名不包括末尾的斜槓。(PHP 5.3.0中新增) =
__FUNCTION__ 函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
__CLASS__ 類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
__METHOD__ 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。
__NAMESPACE__ 當前命名空間的名稱(大小寫敏感)。這個常量是在編譯時定義的。
魔術變量就是指那些根據不同環境有不同的取值
比如
__FILE__
就是一個典型的魔術變量,當它出現在a.php文件裡時它的值就是a.php的具體路徑,出現在b.php文件裡就是b.php的具體路徑
其他的一些魔術變量還有__FUNCTION__, __CLASS__
總之這些變量的值往往不是固定的,變來變去的,很神奇,像魔術一樣,故叫做魔術變量