PHP基礎之命名空間8——后備全局函數/常量
在一個命名空間中,當 PHP 遇到一個非限定的類、函數或常量名稱時,它使用不同的優先策略來解析該名稱。類名稱總是解析到當前命名空間中的名稱。因此在訪問系統內部或不包含在命名空間中的類名稱時,必須使用完全限定名稱,例如:
Example #1 在命名空間中訪問全局類
<?php namespace ABC; class Exception extends Exception {} $a = new Exception(’hi’); // $a 是類 ABCException 的一個對象 $b = new Exception(’hi’); // $b 是類 Exception 的一個對象 $c = new ArrayObject; // 致命錯誤, 找不到 ABCArrayObject 類?>
對于函數和常量來說,如果當前命名空間中不存在該函數或常量,PHP 會退而使用全局空間中的函數或常量。
Example #2 命名空間中后備的全局函數/常量
<?php namespace ABC; const E_ERROR = 45; function strlen($str) {return strlen($str) - 1; } echo E_ERROR, 'n'; // 輸出 '45' echo INI_ALL, 'n'; // 輸出 '7' - 使用全局常量 INI_ALL echo strlen(’hi’), 'n'; // 輸出 '1' if (is_array(’hi’)) { // 輸出 'is not array'echo 'is arrayn'; } else {echo 'is not arrayn'; }?>
相關文章:
1. ASP中常用的22個FSO文件操作函數整理2. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁3. ASP調用WebService轉化成JSON數據,附json.min.asp4. .Net core 的熱插拔機制的深入探索及卸載問題求救指南5. SharePoint Server 2019新特性介紹6. html清除浮動的6種方法示例7. 讀大數據量的XML文件的讀取問題8. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執行過程解析9. React+umi+typeScript創建項目的過程10. Vue+elementUI下拉框自定義顏色選擇器方式
