php命名空間use關(guān)鍵字怎么用_第1頁
php命名空間use關(guān)鍵字怎么用_第2頁
php命名空間use關(guān)鍵字怎么用_第3頁
php命名空間use關(guān)鍵字怎么用_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第php命名空間use關(guān)鍵字怎么用為很長的標(biāo)識(shí)符名稱(通常是為了緩解第一類問題而定義的)創(chuàng)建一個(gè)別名(或簡短)的名稱,以提高源代碼的可讀性。

定義命名空間(使用關(guān)鍵字namespace)

雖然任意合法的PHP代碼都可以包含在命名空間中,但只有類(包括抽象類和trAIts)、接口、函數(shù)和常量等類型的代碼受命名空間的影響。

命名空間的定義需要通過關(guān)鍵字namespace來聲明,語法格式如下:

namespace命名空間名;

【示例】下面我們來演示一下如何定義了命名空間:

php

namespaceMyProject;//定義名為MyProject的命名空間。

constCONNECT_OK=1;

classMyclass{

/*...*/

functionMyfunc(){

/*...*/

在聲明命名空間之前除了用于定義源文件編碼方式的declare語句外,所有非PHP代碼(包括空白符)都不能出現(xiàn)在命名空間聲明之前。

使用命名空間:別名/導(dǎo)入

PHP允許通過別名引用或?qū)氲姆绞絹硎褂猛獠康拿臻g,這是命名空間的一個(gè)重要特征。這有點(diǎn)類似于在類unix文件系統(tǒng)中可以創(chuàng)建對(duì)其它的文件或目錄的符號(hào)連接。

使用use關(guān)鍵字可以實(shí)現(xiàn)命名空間的導(dǎo)入,從PHP5.6開始允許導(dǎo)入函數(shù)和常量,并為它們?cè)O(shè)置別名。語法格式如下:

usenamespace;

在PHP中,別名是通過操作符use與as來實(shí)現(xiàn)的,語法格式如下:

use命名空間as別名;

【示例】使用use操作符導(dǎo)入和使用別名。

php

namespacefoo;

useMy\Full\ClassnameasAnother;

//下面的例子與useMy\Full\NSnameasNSname相同

useMy\Full\NSname;

//導(dǎo)入一個(gè)全局類

useArrayObject;

//導(dǎo)入一個(gè)函數(shù)

usefunctionMy\Full\functionName;

//導(dǎo)入一個(gè)函數(shù)并定義別名

usefunctionMy\Full\functionNameasfunc;

//導(dǎo)入一個(gè)常量

useconstMy\Full\CONSTANT;

$obj=newnamespace\Another;//實(shí)例化foo\Another對(duì)象

$obj=newAnother;//實(shí)例化My\Full\Classname對(duì)象

NSname\subns\func();//調(diào)用My\Full\NSname\subns\func函數(shù)

$a=newArrayObject(array(1));//實(shí)例化ArrayObject對(duì)象

//如果不使用use\ArrayObject,則實(shí)例化一個(gè)foo\ArrayObject對(duì)象

func();//調(diào)用My\Full\functionName函數(shù)

echoCONSTANT;//打印My\Full\CONSTANT常量

注意:對(duì)命名空間中的名稱(包含命名空間分隔符的完全限定名稱,如Foo\Bar,以及相對(duì)的不包含命名空間分隔符的全局名稱,如FooBar)來說,前導(dǎo)的反斜杠是不必要的也是不推薦的,因?yàn)閷?dǎo)入的名稱必須是完全限定的,不會(huì)根據(jù)當(dāng)前的命名空間作相對(duì)解析。

為了簡化操作,PHP還支持在一行中導(dǎo)入多個(gè)命名空間,中間使用,隔開,示例代碼如下:

php

useMy\Full\ClassnameasAnother,My\Full\NSname;

$obj=newAnother;//實(shí)例化My\Full\Classname對(duì)象

NSname\subns\func();//調(diào)用My\Full\NSname\subns\func函數(shù)

導(dǎo)入操作是編譯執(zhí)行的,但動(dòng)態(tài)的類名稱、函數(shù)名稱或常量名稱則不是。

php

useMy\Full\ClassnameasAnother,My\Full\NSname;

$obj=newAnother;//實(shí)例化一個(gè)My\Full\Classname對(duì)象

$

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論