use關(guān)鍵字在PHP中的作用有哪些-創(chuàng)新互聯(lián)

這篇文章給大家介紹use關(guān)鍵字在PHP中的作用有哪些,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

公司主營業(yè)務(wù):網(wǎng)站建設(shè)、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出桐梓免費(fèi)做網(wǎng)站回饋大家。

很多開源系統(tǒng)如osCommerce框架中,都會(huì)在其源碼中找到use這個(gè)關(guān)鍵字,如osCommerce框架中就在index.php文件中出現(xiàn)了這段源碼:

use osCommerce\OM\Core\Autoloader;
use osCommerce\OM\Core\OSCOM;

其實(shí),php的use關(guān)鍵字是自php5.3以上版本引入的。它的作用是給一個(gè)外部引用起別名。這是命名空間的一個(gè)重要特性,它同基于unix的文件系統(tǒng)的為文件或目錄創(chuàng)建連接標(biāo)志相類似。

PHP命名空間支持三種別名方式(或者說引用):

1、為一個(gè)類取別名

2、為一個(gè)接口取別名

3、為一個(gè)命名空間取別名

這三種方式都是用 use 關(guān)鍵字來完成。下面是三種別名的分別舉例:
//Example #1 importing/aliasing with the use operator


<?php
namespacefoo;
useMy\Full\ClassnameasAnother;

//thisisthesameasuseMy\Full\NSnameasNSname
useMy\Full\NSname;

//importingaglobalclass
useArrayObject;

$obj=newnamespace\Another;//instantiatesobjectofclassfoo\Another
$obj=newAnother;//instantiatesobjectofclassMy\Full\Classname
NSname\subns\func();//callsfunctionMy\Full\NSname\subns\func
$a=newArrayObject(array(1));//instantiatesobjectofclassArrayObject
//withoutthe"useArrayObject"wewouldinstantiateanobjectofclassfoo\ArrayObject
?>

注意的一點(diǎn)是,對于已命名的名字,全稱就包含了分隔符,比如 Foo\Bar,而不能用FooBar,而“\Foo\Bar”這個(gè)頭部的"\"是沒必要的,也不建議這樣寫。引入名必須是全稱,并且跟當(dāng)前命名空間沒有程序上的關(guān)聯(lián)。

PHP也可以在同一行上申明多個(gè),等同于上面的寫法


<?php
useMy\Full\ClassnameasAnother,My\Full\NSname;

$obj=newAnother;//instantiatesobjectofclassMy\Full\Classname
NSname\subns\func();//callsfunctionMy\Full\NSname\subns\func
?>

還有值得一說的是,引入是在編譯時(shí)執(zhí)行的,因此,別名不會(huì)影響動(dòng)態(tài)類,例如:


<?php
useMy\Full\ClassnameasAnother,My\Full\NSname;

$obj=newAnother;//instantiatesobjectofclassMy\Full\Classname
$a = 'Another';
$obj = New $a; // instantiates object of class Another
?>

這里由于給變量$a 賦值了 'Another',編譯的時(shí)候,就將$a 定位到 Classname 了。

關(guān)于use關(guān)鍵字在PHP中的作用有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)站欄目:use關(guān)鍵字在PHP中的作用有哪些-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://www.muchs.cn/article26/diepjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站App設(shè)計(jì)、關(guān)鍵詞優(yōu)化、虛擬主機(jī)、微信小程序、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化