首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 魔術常量完整解析與實際應用場景

     編輯:PHP 相關知識

魔術常量列表

常量說明典型應用場景
__FILE__當前文件完整路徑(含文件名)框架入口計算項目根目錄:dirname(__FILE__)
__DIR__當前文件所在目錄(PHP 5.3+)包含文件時避免相對路徑混亂:require __DIR__ . '/config.php'
__LINE__當前行號日誌記錄、異常堆疊定位:error_log("Error at line " . __LINE__)
__CLASS__當前類名(區分大小寫)基類中獲取子類名:static::class (PHP 5.5+)
__METHOD__當前方法名(含類名)調試輸出:__METHOD__ . ' called'
__FUNCTION__當前函數名通用函數內部記錄調用者
__NAMESPACE__當前命名空間名動態實例化:new __NAMESPACE__ . '\Model\User'
__TRAIT__當前 Trait 名Trait 衝突排查

代碼演示

<?php
echo '當前文件:', __FILE__, '<br/>';
echo '當前目錄:', __DIR__, '<br/>';
echo '第 ', __LINE__, ' 行<br/>';
echo '第 ', __LINE__, ' 行<br/>';
echo '第 ', __LINE__, ' 行<br/>';

class Human {
    public static function test() {
        echo '類名:', __CLASS__, '<br/>';
        echo '方法:', __METHOD__, '<br/>';
    }
}
Human::test();

注意事項

  • 魔術常量不可修改,但值隨上下文變化(故稱「魔術」)。
  • __DIR__ 等同 dirname(__FILE__),更簡潔。
  • 在 eval() 或動態代碼中,__FILE__ 可能不準確。
  • 命名空間下 __CLASS__ 包含完整限定名(如 App\Controller\User)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved