## 魔術常量
PHP向它運行的任何腳本提供了大量的[預定義常量](http://php.net/manual/zh/reserved.constants.php)。不過很多常量都是由不同的擴展庫定義的,只有在加載了這些拓展庫時才會出現,或者動態加載后,或者在編譯時已經包含進去了。
有八個魔術常量它們的值隨著它們在代碼中的位置改變而改變。例如__LINE__的值就依賴于它在腳本中所處的行來決定。這些特殊的常量不區分大小寫,如下:
**幾個 PHP 的“魔術常量”**
| 名稱 | 說明 |
| --- | --- |
| **`__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 中該值總是小寫字母的。類名包括其被聲明的作用區域(例如 *Foo\\Bar*)。注意自 PHP 5.4 起 \_\_CLASS\_\_ 對 trait 也起作用。當用在 trait 方法中時,\_\_CLASS\_\_ 是調用 trait 方法的類的名字。 |
| **`__TRAIT__`** | Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定義時的名字(區分大小寫)。Trait 名包括其被聲明的作用區域(例如 *Foo\\Bar*)。 |
| **`__METHOD__`** | 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。 |
| **`__NAMESPACE__`** | 當前命名空間的名稱(區分大小寫)。此常量是在編譯時定義的(PHP 5.3.0 新增)。 |
參見 [get\_class()](http://php.net/manual/zh/function.get-class.php),[get\_object\_vars()](http://php.net/manual/zh/function.get-object-vars.php),[file\_exists()](http://php.net/manual/zh/function.file-exists.php) 和 [function\_exists()](http://php.net/manual/zh/function.function-exists.php)。
- 序言
- 簡介
- PHP是什么?
- PHP能做什么?
- 基本語法
- 類型
- boolean(布爾型)
- integer(整型)
- float(浮點型)
- string(字符串)
- array(數組)
- object(對象)
- callable(可調用)
- resource(資源)
- NULL(無類型)
- 偽類型
- 類型轉換的判別
- 變量
- 基礎
- 預定義變量
- 變量范圍
- 可變變量
- 來自PHP之外的變量
- 常量
- 語法
- 魔術常量
- 表達式
- 運算符
- 運算符優先級
- 算術運算符
- 賦值運算符
- 位運算符
- 比較運算符
- 錯誤控制運算符
- 執行運算符
- 遞增/遞減運算符
- 邏輯運算符
- 字符串運算符
- 數組運算符
- 類型運算符
- 流程控制
- if
- else
- elseif/else if
- 流程控制的替代語法
- while
- do-whille
- for
- foreach
- break
- continue
- switch
- declare
- return
- require
- include
- require_once
- include_once
- goto
- 函數
- 用戶自定義函數
- 函數的參數
- 返回值
- 可變函數
- 內部 (內置)函數
- 匿名函數
- 類與對象
- 簡介
- 基本概念
- 屬性
- 類的自動加載
- 構造函數
- 訪問控制(可見性)