PHP基礎(chǔ)之命名空間5——namespace關(guān)鍵字和__NAMESPACE__常量
PHP支持兩種抽象的訪問當(dāng)前命名空間內(nèi)部元素的方法,__NAMESPACE__?魔術(shù)常量和namespace關(guān)鍵字。
常量__NAMESPACE__的值是包含當(dāng)前命名空間名稱的字符串。在全局的,不包括在任何命名空間中的代碼,它包含一個空的字符串。
Example #1 __NAMESPACE__ 示例, 在命名空間中的代碼
<?php namespace MyProject; echo ’'’, __NAMESPACE__, ’'’; // 輸出 'MyProject'?>
Example #2 __NAMESPACE__ 示例,全局代碼
<?php echo ’'’, __NAMESPACE__, ’'’; // 輸出 ''?>
常量?__NAMESPACE__?在動態(tài)創(chuàng)建名稱時很有用,例如:
Example #3 使用__NAMESPACE__動態(tài)創(chuàng)建名稱
<?php namespace MyProject; function get($classname) {$a = __NAMESPACE__ . ’’ . $classname;return new $a; }?>
關(guān)鍵字?namespace?可用來顯式訪問當(dāng)前命名空間或子命名空間中的元素。它等價于類中的?self?操作符。
Example #4 namespace操作符,命名空間中的代碼
<?php namespace MyProject; use blahblah as mine; //命名空間別名(參考:使用命名空間別名和導(dǎo)入) blahmine(); // 調(diào)用函數(shù) blahblahmine() namespaceblahmine(); // 調(diào)用函數(shù) MyProjectblahmine() namespacefunc(); // 調(diào)用函數(shù) MyProjectfunc() namespacesubfunc(); // 調(diào)用函數(shù) MyProjectsubfunc() namespacecname::method(); // 調(diào)用類 MyProjectcname 的靜態(tài)方法'method' $a = new namespacesubcname(); // 實例化類MyProjectsubcname的對象 $b = namespaceCONSTANT; // 將常量 MyProjectCONSTANT 的值賦給 $b?>
Example #5 namespace操作符, 全局代碼
<?php namespacefunc(); // 調(diào)用函數(shù) func() namespacesubfunc(); // 調(diào)用函數(shù) subfunc() namespacecname::method(); // 調(diào)用類cname的靜態(tài)方法'method' $a = new namespacesubcname(); // 實例化subcname類對象 $b = namespaceCONSTANT; // 將常量 CONSTANT 的值賦給 $b?>
相關(guān)文章:
1. ASP動態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗分享2. vue前端RSA加密java后端解密的方法實現(xiàn)3. php使用正則驗證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)4. JSP+Servlet實現(xiàn)文件上傳到服務(wù)器功能5. vue項目登錄成功拿到令牌跳轉(zhuǎn)失敗401無登錄信息的解決6. 基于javaweb+jsp實現(xiàn)企業(yè)財務(wù)記賬管理系統(tǒng)7. asp批量添加修改刪除操作示例代碼8. 淺談由position屬性引申的css進(jìn)階討論9. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向10. CSS可以做的幾個令你嘆為觀止的實例分享

網(wǎng)公網(wǎng)安備