* 1.使用關(guān)鍵字:namespace
* 2.php5.3+
* 3.namespace 之前不能有除了declare和注釋之外的任何代碼,html也不行
* 4.命名空間默認(rèn)從全局開始定位,全局空間用/表示,類似于根目錄
* 5.如果當(dāng)前腳本聲明了命名空間,則所有成員的訪問,就必須使用命名空間,包括系統(tǒng)函數(shù)
//1. 聲明一個(gè)命名空間
namespace one;class Demo{public $name= Peter Zhu }const SITE= PHP function add($a,$b){return $a+$b;}
//如果我想聲明同名的類,常量與函數(shù)可以再聲明一個(gè)命名空間
//2.一個(gè)腳本中允許有多個(gè)命名空間
//聲明命名空間:two,使用/tow/進(jìn)行引用
namespace two;
//現(xiàn)在聲明類Demo,常量SITE,函數(shù)add,則不會(huì)沖突
class Demo{public $name= 朱老師 }const SITE = www.survivalescaperooms.com function add($a,$b){return $a+$b;}
//相信大家看出來了,這非常像是在不同的目錄下面,允許創(chuàng)建同名文件,原理是一樣的
echo (new Demo)- name, br //默認(rèn)輸出的是當(dāng)前空間的內(nèi)容
//查看一下當(dāng)前的命名空間是什么?使用系統(tǒng)預(yù)置常量:__NAMESPACE__
echo 當(dāng)前命名空間是: ,__NAMESPACE__, br
//也可以帶上當(dāng)前的命名空間來訪問當(dāng)前空間中的成員
//生成帶有當(dāng)前命名空間的類名
$className = __NAMESPACE__. /Demo echo (new $className)- name, br
//可以帶上完整的命名空間名稱,從全局空間/開始,相當(dāng)于從根目錄開始
//專業(yè)術(shù)語: 完全限定名稱
echo (new /two/Demo)- name, hr
//3.如何實(shí)現(xiàn)跨空間訪問?
//如果我們要訪問空間one中的Demo類中的屬性,如何操作呢?
//跨空間訪問,與跨目錄訪問文件一樣,一定要帶上它完整的空間路徑
//例如我們要訪問one空間的類Demo中的成員
echo one空間的類成員: ,(new /one/Demo)- name, br
//4.在聲明了命名空間的腳本中,如何訪問系統(tǒng)預(yù)定義方法?
//例如聲明了一個(gè)單字符數(shù)組
$welcome = php 歡迎您 /print_r($welcome); echo br print($welcome); echo hr
//剛才我們說過,在空間中訪問全局成員,必須要加/,這里沒有加為什么可以?
//因?yàn)槿绻脩魶]有添加,那么會(huì)首先在本空間中尋找有沒有var_dump()函數(shù),
//如果沒有找到,再到全局空間查找,所以不報(bào)錯(cuò)
//但是如果我們在當(dāng)前的two空間中也創(chuàng)建一個(gè)var_dump()函數(shù),則只會(huì)執(zhí)行
//當(dāng)前空間中用戶自定義的var_dump(),系統(tǒng)同名函數(shù)不會(huì)被調(diào)用
function print_r($arg) echo 我是當(dāng)前空間聲明的函數(shù)調(diào)用: .$arg;print_r($welcome); echo br
//等價(jià)調(diào)用語法:
/two/print_r($welcome);
//注意: 此print_r(),與系統(tǒng)內(nèi)置的print_r()無任何關(guān)系,僅名稱相同而已
//就好比,上海有條長江路,咱們合肥也有一條長江路一樣,這二條路除名稱一樣,再無任何關(guān)系
// 上海市寶山區(qū)長江路
// 合肥市廬陽區(qū)長江路
// 相信沒有人會(huì)認(rèn)為這是同一條路?
//事實(shí)上,這二個(gè)函數(shù)的完整調(diào)用語句應(yīng)該是這樣的:
//1.調(diào)用系統(tǒng)的:
/print_r($welcome);
//2.調(diào)用當(dāng)前空間的:
/two/print_r($welcome);
//盡管后面名稱一樣,但是歸屬地是不同的
以上就是php中命名空間的聲明與使用的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選