下面由thinkphp開(kāi)發(fā)教程欄目給大家解析 ThinkPHP 的命名空間,希望對(duì)需要的朋友有所幫助!
大家都知道由于PHP語(yǔ)法里不支持函數(shù)重載機(jī)制,如果一個(gè)應(yīng)用里有兩個(gè)同名的方法,怎么辦呢?
在Yii 框架為了避免名字重復(fù)引起問(wèn)題,全部的類(lèi)前邊都有 C
字樣,而在ThinkPHP里就引入了命名空間這個(gè)概念。
a) 命名空間是虛擬的定義空間,不是真實(shí)存在目錄
b) 命名空間的分隔符都是反斜杠
c) 非限定名稱(chēng):getName()
獲得與其最近的命名空間的getName()
d) 限定名稱(chēng):beijinggetName()
相對(duì)方式
通過(guò)最近的命名空間定位beijinggetName()
:如下面的實(shí)例,他會(huì)認(rèn)為在當(dāng)前目錄下的beijinggetName()
,因此會(huì)找dalianbeijinggetName()
。此時(shí),因?yàn)檎也坏骄蜁?huì)報(bào)錯(cuò)了??!
e) 完全限定名稱(chēng): beijinggetName()
直接在指定的命名空間獲得具體元素
f) 命名空間針對(duì):函數(shù)、類(lèi)名、常量三者其作用,在命名空間里邊把這三種統(tǒng)稱(chēng)為元素
操作實(shí)例如下: