小編給大家分享一下php中怎么使用namespace,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司服務(wù)項目包括閬中網(wǎng)站建設(shè)、閬中網(wǎng)站制作、閬中網(wǎng)頁制作以及閬中網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,閬中網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到閬中省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
php namespace的用法:【namespace Article;】,表示創(chuàng)建一個名為Article的命名空間。需要注意的是,當(dāng)前腳本文件的第一個命名空間前面不能有任何代碼。
命名空間一個最明確的目的就是解決重名問題,PHP中不允許兩個函數(shù)或者類出現(xiàn)相同的名字,否則會產(chǎn)生一個致命的錯誤。這種情況下只要避免命名重復(fù)就可以解決,最常見的一種做法是約定一個前綴。
命名空間將代碼劃分出不同的空間(區(qū)域),每個空間的常量、函數(shù)、類(為了偷懶,我下邊都將它們稱為元素)的名字互不影響, 這個有點(diǎn)類似我們常常提到的'封裝'的概念。
創(chuàng)建一個命名空間需要使用namespace關(guān)鍵字,這樣:
<?php //創(chuàng)建一個名為'Article'的命名空間 namespace Article; ?>
要注意的是,當(dāng)前腳本文件的第一個命名空間前面不能有任何代碼,下面的寫法都是錯誤的:
例一
//在腳本前面寫了一些邏輯代碼
<?php
$path = "/";
class Comment { }
namespace Article;
?>例二
</html> <?php namespace Article; ?>
為什么要說第一個命名空間呢?因為同一腳本文件中可以創(chuàng)建多個命名空間。
下面我創(chuàng)建了兩個命名空間,順便為這兩個空間各自添加了一個Comment類元素:
<?php
//創(chuàng)建一個名為'Article'的命名空間
namespace Article;
//此Comment屬于Article空間的元素
class Comment {
}
//創(chuàng)建一個名為'MessageBoard'的命名空間
namespace MessageBoard;
//此Comment屬于MessageBoard空間的元素
class Comment {
}
?>在不同空間之間不可以直接調(diào)用其它元素,需要使用命名空間的語法:
<?php
namespace Article;
class Comment {
}
namespace MessageBoard;
class Comment {
}
//調(diào)用當(dāng)前空間(MessageBoard)的Comment類
$comment = new Comment();
//調(diào)用Article空間的Comment類
$article_comment = new \Article\Comment();
?>可以看到,在MessageBoard空間中調(diào)用article空間里的Comment類時,使用了一種像文件路徑的語法: \空間名\元素名
除了類之外,對函數(shù)和常量的用法是一樣的,下面我為兩個空間創(chuàng)建了新的元素,并在MessageBoard空間中輸出了它們的值。
<?php
namespace Article;
const PATH = '/article';
function getCommentTotal() {
return 100;
}
class Comment {
}
namespace MessageBoard;
const PATH = '/message_board';
function getCommentTotal() {
return 300;
}
class Comment {
}
//調(diào)用當(dāng)前空間的常量、函數(shù)和類
echo PATH;
///message_board
echo getCommentTotal();
//300
$comment = new Comment();
//調(diào)用Article空間的常量、函數(shù)和類
echo \Article\PATH;
///article
echo \Article\getCommentTotal();
//100
$article_comment = new \Article\Comment();
?>然后我的確得到了Article空間的元素數(shù)據(jù)。
以上是php中怎么使用namespace的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章名稱:php中怎么使用namespace
文章路徑:http://chinadenli.net/article20/jijeco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、服務(wù)器托管、Google、靜態(tài)網(wǎng)站、外貿(mào)建站、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)