上一篇文章中我們了解了命名空間,知道了如何去定義命名空間,有需要的請看《php命名空間之如何定義空間?》。這次我們向大家介紹子命名空間,有需要的可以參考參考。
在PHP中,命名空間可以幫我們做成許多事情。可以讓我們自己定義的名稱不與php內部名稱發(fā)生沖突,也可以給標識符起一個短點的名字,方便我們去使用和閱讀。
而且它還有一個重要的功能,但是先讓我們看一個小例子,看完之后再說這個功能是什么。
<?php namespace MyProjectSubLevel; //聲明分層次的單個命名空間 const CONNECT_OK = 1; class Connection { /* ... */ } function Connect() { /* ... */ } ?>
我們來看看這個,再來看看上篇文章中的命名空間。
<?php namespace MyProject { const CONNECT_OK = 1; class Connection { /* ... */ } function connect() { /* ... */ } } namespace AnotherProject { const CONNECT_OK = 1; class Connection { /* ... */ } function connect() { /* ... */ } } ?>
好好對比一下,有發(fā)現(xiàn)什么不同嗎?
讓我們將目光轉移到namespace
之后,單詞是不是有點不一樣,上面那個例子里單詞與單詞之間有“”,而下面的就只是一個單詞。大家都看出來了吧。
這就是它的另一個功能,子命名空間。子命名空間類似于目錄和文件,并且PHP命名空間也允許我們指定分層名稱空間的名稱。所以,命名空間的名稱也可以使用分層次的方式去定義。
根據(jù)我們現(xiàn)在對子命名空間的理解,我們去看例子,我們可以看到,在第一個php語句中,我們定義了三個指定分層名稱空間的,它們分別是常量MyProjectSubLevelCONNECT_OK
,類MyProjectSubLevelConnection
和函數(shù)MyProjectSubLevelConnect
。
這樣我們可以通過不同分層去找內容,方便我們去理解。
就說到這里了,有其他想知道的,可以點擊這個哦?!?→php視頻教程