PHP基礎(chǔ)之命名空間8——后備全局函數(shù)/常量
在一個(gè)命名空間中,當(dāng) PHP 遇到一個(gè)非限定的類(lèi)、函數(shù)或常量名稱(chēng)時(shí),它使用不同的優(yōu)先策略來(lái)解析該名稱(chēng)。類(lèi)名稱(chēng)總是解析到當(dāng)前命名空間中的名稱(chēng)。因此在訪問(wèn)系統(tǒng)內(nèi)部或不包含在命名空間中的類(lèi)名稱(chēng)時(shí),必須使用完全限定名稱(chēng),例如:
Example #1 在命名空間中訪問(wèn)全局類(lèi)
<?php namespace ABC; class Exception extends Exception {} $a = new Exception(’hi’); // $a 是類(lèi) ABCException 的一個(gè)對(duì)象 $b = new Exception(’hi’); // $b 是類(lèi) Exception 的一個(gè)對(duì)象 $c = new ArrayObject; // 致命錯(cuò)誤, 找不到 ABCArrayObject 類(lèi)?>
對(duì)于函數(shù)和常量來(lái)說(shuō),如果當(dāng)前命名空間中不存在該函數(shù)或常量,PHP 會(huì)退而使用全局空間中的函數(shù)或常量。
Example #2 命名空間中后備的全局函數(shù)/常量
<?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'; }?>
相關(guān)文章:
1. ASP常用日期格式化函數(shù) FormatDate()2. ASP新手必備的基礎(chǔ)知識(shí)3. CSS 使用Sprites技術(shù)實(shí)現(xiàn)圓角效果4. chat.asp聊天程序的編寫(xiě)方法5. 詳解瀏覽器的緩存機(jī)制6. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法7. 怎樣才能用js生成xmldom對(duì)象,并且在firefox中也實(shí)現(xiàn)xml數(shù)據(jù)島?8. HTML中的XML數(shù)據(jù)島記錄編輯與添加9. SXNA RSS Blog 聚合器程序10. 推薦一個(gè)好看Table表格的css樣式代碼詳解
