有八個魔術常量,它們的值隨著在**中位置的改變而改變,這些特殊的常量不區分大小寫。
__line__:檔案中的當前行號
_file__:檔案的完整路徑和檔名。如果用在被包含的檔案中(相當於位置改變),則顯示被包含的檔案路徑和檔名。
_dir__:檔案所在的目錄。如果用在被包含的檔案中(相當於位置改變),則顯示被包含的檔案路徑和檔名。
_function_:所在函式名稱。php5起,返回名稱區分大小寫。
_class_:類的名稱。php5起區分大小寫。
_namespace_:當前命名空間的名稱。區分大小寫。
_method_:類的方法名。區分大小寫。
_trait_:
php從始至終都是單繼承語言,無法同時從兩個基類中繼承屬性和方法,為了解決這個問題,php出了trait這個特性。
用法:1、通過在類中使用use關鍵字,宣告要組合的trait名稱,具體trait的宣告使用trait關鍵字,trait不能例項化。2、乙個類可以組合多個trait,通過逗號相隔。3、不同的trait中,同名的方法和屬性會產生衝突,可以使用insteadof或as解決,insteadof是替換,as是取別名。
注意:trait中的方法會覆蓋基類中的同名方法,而本類中的同名方法會覆蓋trait中的同名方法。當trait中定義了屬性後,類就不能定義同名的屬性,否則會產生錯誤,除非設定成相同可見度相同預設值。
詳解PHP中的8個魔術常量
php 向它執行的任何指令碼提供了大量的預定義常量。不過很多常量都是由不同的擴充套件庫定義的,只有在載入了這些擴充套件庫時才會出現,或者動態載入後,或者在編譯時已經包括進去了。有八個魔術常量它們的值隨著它們在 中的位置改變而改變。例如 line 的值就程式設計客棧依賴於它在指令碼中所處的行來決定。這...
php8強型別,PHP8新特性盤點
php 8.0.0 已經正式發布了,這個對於phper無疑是乙個令人振奮的訊息。它包含了很多新功能與優化項,包括命名引數 聯合型別 註解 構造器屬性提公升 match 表示式 nullsafe 運算子 jit 並改進了型別系統 錯誤處理 語法一致性。最人性化的特性 命名引數 聯合型別 mixed 型...
php8強型別,PHP8新特性盤點
php 8.0.0 已經正式發布了,這個對於phper無疑是乙個令人振奮的訊息。它包含了很多新功能與優化項,包括命名引數 聯合型別 註解 構造器屬性提公升 match表示式 nullsafe運算子 jit,並改進了型別系統 錯誤處理 語法一致性。最人性化的特性 命名引數 聯合型別 mixed型別 這...