namespace和use怎么在php中使用-創(chuàng)新互聯(lián)

namespace和use怎么在php中使用?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

在留壩等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),營(yíng)銷型網(wǎng)站,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),留壩網(wǎng)站建設(shè)費(fèi)用合理。

namespace(以下簡(jiǎn)稱ns)。在定義了一個(gè)ns之后,下面所申明的class、interface、const(不包含variable)都是在申明的ns這個(gè)“域”里面的。當(dāng)引用一個(gè)申明了ns的包含文件,想要調(diào)用這個(gè)ns里面的東西,那必須調(diào)整當(dāng)前腳本也到此ns域,否則就得用全稱()包含ns全稱):


// inc.php
namespace Foo;
class Bar {}
// 訪問Foo的第一種方法,用全稱
require 'inc.php';
$foo = new \Foo\Bar();
// 訪問Foo的第二種方法
namespace Foo; // 調(diào)整當(dāng)前腳本到Foo這個(gè)ns域,而且namespace申明必須在第一句
require 'inc.php';
$foo = new Bar();

use關(guān)鍵字目的是使用ns的別名:

// 比如
use A\Very\Long\Namespace as Ns;
// 這樣就可以用Ns來代替A/Very/Long/Namespace這個(gè)ns下定義的東西
$foo = new Ns\Foo();

但是在一些開源項(xiàng)目里面經(jīng)常會(huì)看到use Ns\Component這樣的用法,沒有用as,這讓我以前一直在思考use是否還有第二種用法,糟糕的是php的文檔里面也沒有對(duì)此用法有描述,只能靠猜測(cè),后來仔細(xì)想過這個(gè)問題,得出一個(gè)比較靠譜的結(jié)論是use可以省略as以及后面的別名而直接把ns最后一個(gè)節(jié)點(diǎn)的名字當(dāng)作別名,感覺是不是很像ln -s命令的用法呢:

// 第三種用法
require 'inc.php';
use Foo\Bar; // 這樣Bar就等于Foo\Bar了
$foo = new Bar();

關(guān)于namespace和use怎么在php中使用問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

分享文章:namespace和use怎么在php中使用-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://muchs.cn/article36/dhoopg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、品牌網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站電子商務(wù)

廣告

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

網(wǎng)站托管運(yùn)營(yíng)