站長資訊網
最全最豐富的資訊網站

php namespace的用法

php namespace的用法:【namespace Article;】,表示創建一個名為Article的命名空間。需要注意的是,當前腳本文件的第一個命名空間前面不能有任何代碼。

php namespace的用法

命名空間一個最明確的目的就是解決重名問題,PHP中不允許兩個函數或者類出現相同的名字,否則會產生一個致命的錯誤。這種情況下只要避免命名重復就可以解決,最常見的一種做法是約定一個前綴。

(推薦教程:php視頻教程)

命名空間將代碼劃分出不同的空間(區域),每個空間的常量、函數、類(為了偷懶,我下邊都將它們稱為元素)的名字互不影響, 這個有點類似我們常常提到的'封裝'的概念。

創建一個命名空間需要使用namespace關鍵字,這樣:

<?php //創建一個名為'Article'的命名空間 namespace Article; ?>

要注意的是,當前腳本文件的第一個命名空間前面不能有任何代碼,下面的寫法都是錯誤的:

例一

//在腳本前面寫了一些邏輯代碼 <?php $path = "/"; class Comment { } namespace Article; ?>

例二

</html> <?php namespace Article; ?>

為什么要說第一個命名空間呢?因為同一腳本文件中可以創建多個命名空間。

下面我創建了兩個命名空間,順便為這兩個空間各自添加了一個Comment類元素:

<?php //創建一個名為'Article'的命名空間 namespace Article; //此Comment屬于Article空間的元素 class Comment { } //創建一個名為'MessageBoard'的命名空間 namespace MessageBoard; //此Comment屬于MessageBoard空間的元素 class Comment { } ?>

在不同空間之間不可以直接調用其它元素,需要使用命名空間的語法:

<?php namespace Article; class Comment { } namespace MessageBoard; class Comment { } //調用當前空間(MessageBoard)的Comment類 $comment = new Comment(); //調用Article空間的Comment類 $article_comment = new ArticleComment(); ?>

可以看到,在MessageBoard空間中調用article空間里的Comment類時,使用了一種像文件路徑的語法: 空間名元素名

除了類之外,對函數和常量的用法是一樣的,下面我為兩個空間創建了新的元素,并在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 { } //調用當前空間的常量、函數和類 echo PATH; ///message_board echo getCommentTotal(); //300 $comment = new Comment(); //調用Article空間的常量、函數和類 echo ArticlePATH; ///article echo ArticlegetCommentTotal(); //100 $article_comment = new ArticleComment(); ?>

然后我的確得到了Article空間的元素數據。

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产精品熟女福利久久AV| 国产日韩久久久精品影院首页| 久久久国产精品无码免费专区| 国产精品一区二区av不卡| 八区精品色欲人妻综合网| 欧洲精品无码成人久久久| 精品国产乱码久久久久软件| 久久精品久久精品久久精品| 国产亚洲精品成人a v小说| 男女男精品网站免费观看| 日韩电影免费在线观看网址| 精品香蕉久久久午夜福利| 2020国产精品永久在线| 久久精品国产亚洲AV久| 91精品导航在线网址免费| 熟女精品视频一区二区三区| 久草视频在线这里精品| 国产午夜精品久久久久九九电影| 国产精品成人久久久久三级午夜电影| 视频精品一区二区三区| 日韩精品福利片午夜免费观着| 日韩精品无码一本二本三本| 日韩A∨精品日韩在线观看| 凹凸国产熟女精品视频| 国产伦精品一区二区三区四区| 无码A级毛片日韩精品| 国内精品一区二区三区最新| 精品久久久久久无码中文野结衣| 国产香蕉久久精品综合网| 日本午夜精品视频在线观看| 2020国产欧洲精品视频| 国产精品高清在线观看地址| 亚洲色精品VR一区区三区| 国色精品卡一卡2卡3卡4卡免费| 97久久国产亚洲精品超碰热 | 亚洲精品456人成在线| 99久久er这里只有精品18| 国产精品视频yuojizz| 无码精品国产dvd在线观看9久| 国产三级精品三级在专区中文 | 日本精品视频一区二区|