這篇文章主要介紹了關於php物件導向之命名空間,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
概述
廣義上來說,命名空間是一種封裝實物的方法;
例如,在作業系統中目錄用來將相關檔案分組,對於目錄中的檔案來說,它就扮演了命名空間的角色。
在PHP中,命名空間用來解決在編寫類庫或程式時建立可重用的代碼,用於解決以下問題:
1)使用者編寫的的代碼,與PHP內部的類/常量/第三方類/函數/ 常量之間的名字衝突;2)為很長的標識符名稱,建立一個別名,提高代碼的可讀性;
基本使用
通過關鍵namespace來聲明。
1)namespace MyPro1; /*內容*/2)namespace MyPro2{ /*內容*/};
注意:
如果一個檔案中包含命名空間,必須在所有代碼之前聲明命名空間。
例子
<?phpnamespace A;function time(){ echo '這是屬於我的time方法';}namespace B;function time(){ echo '這是屬於我的time方法2';}time(); // namespace B time()\A\time(); // namespace A time()\B\time(); // namespace B time()echo \time(); // 系統的 time()
子命名空間
使用
namespace Father/Son;
例子
<?php// 使用命名空間例子2namespace A;function time(){ echo '這是屬於我的time方法';}namespace B;function time(){ echo '這是屬於我的time方法2';}time(); // namespace B time()\A\time(); // namespace A time()\B\time(); // namespace B time()echo \time(); // 系統的 time()