php namespace的用法:【namespace Article;】,表示創建一個名為Article的命名空間。需要注意的是,當前腳本文件的第一個命名空間前面不能有任何代碼。
創新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于網站建設、成都網站制作、簡陽網絡推廣、小程序制作、簡陽網絡營銷、簡陽企業策劃、簡陽品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們大的嘉獎;創新互聯為所有大學生創業者提供簡陽建站搭建服務,24小時服務熱線:13518219792,官方網址:vcdvsql.cn
命名空間一個最明確的目的就是解決重名問題,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 \\Article\\Comment(); ?>
可以看到,在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 \\Article\\PATH; ///article echo \\Article\\getCommentTotal(); //100 $article_comment = new \\Article\\Comment(); ?>
然后我的確得到了Article空間的元素數據。
相關推薦:php培訓
當前題目:phpnamespace的用法
本文地址:http://vcdvsql.cn/article46/checeg.html
成都網站建設公司_創新互聯,為您提供網站導航、網站排名、定制網站、靜態網站、品牌網站設計、云服務器
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯