390
Php編程
PHP中的命名空間namespace
命名空間是一種代碼的組織形式,是一種封裝事物的方法。命名空間將代碼劃分出不同的空間(區域),每個空間裏麵的類、函數和常量互不影響。雖然任何PHP代碼都可以包含在命名空間中,但隻有幾種類型的代碼受到命名空間的影響:類(包括抽象類和traits)、接口、函數和常量。
為什麼要使用命名空間?
使用命名空間是為了解決麵向對象編程過程中用戶編寫的類、函數、常量與PHP內部或第三方的類、函數、常量名字衝突問題。
命名空間通過關鍵字namespace來聲明。如果一個文件中包含命名空間,則它必須在所有代碼之前聲明。
然後執行結果如下:
這時提示找不到name類,這是因為我們定義的name類是在name1和name2命名空間下的,要想使用這個類,需要把命名空間也加上:
執行結果:
還可以先使用use關鍵字將命名空間導入,然後再使用
執行結果:
PHP還允許指定層次化的命名空間:
執行結果:
注意這裏的name1\name2隻是命名空間的層次劃分,並沒有包含和被包含的關係,也不是目錄的層級關係。
如果沒有定義任何命名空間,則默認是在全局空間中,與PHP引入命名空間概念前一樣,我們平時寫的不帶命名空間的代碼都在全局空間中,在名稱前麵加上\表示該名稱是全局空間中的名稱,在其他命名空間中可以通過這種方式使用全局空間中的類、函數、常量等。
關注PHP技術宅宅是人的天性,也是一種境界!
長按指紋識別圖中二維碼(微信號:phpjsz)
您看此文用·秒,分享隻需1秒呦~
最後更新:2017-10-08 21:36:12