之因此使用命名空間,是由於它能夠預防類、接口、函數和常量的衝突。命名空間能夠標識某個定義或標識符的上下文環境,一個標識符能夠在多個命名空間中定義,它在不一樣命名空間的含義是互不相干的,可類比於文系統的目錄。可是PHP的命名空間並非文件目錄,或者說和文件目錄沒有實質上的聯繫。php
關於PHP的命名空間的介紹在PHP官方文檔已經介紹得十分詳細了,這裏再也不多說。這裏介紹一下當開始接觸PHP命名空間是所遇到的一些困惑。函數
use就至關於一種聲明,並不解析和加載。也就意味着仍是得用require或者include將文件包含進來,或者使用autoload自動加載。ui
正由於須要進行文件包含,而不是直接經過命名空間進行加載,因此PHP文件的命名空間聲明和文件在磁盤中的實際位置並無關聯。spa
若是不聲明命名空間,則默認爲全局命名空間。.net