亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    php namespace的用法

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

    php namespace的用法

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

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

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

    創(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 ArticleComment(); ?>

    可以看到,在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 ArticlePATH; ///article echo ArticlegetCommentTotal(); //100 $article_comment = new ArticleComment(); ?>

    然后我的確得到了Article空間的元素數(shù)據(jù)。

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號