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

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

    PHP V5.3 中的新特性: 名稱空間

     

      很多語(yǔ)言都提供了名稱空間特性,包括 C++ 和 Java? 編程語(yǔ)言。引入名稱空間是為了幫助組織大型的代碼庫(kù),因?yàn)樵诖笮痛a庫(kù)中,應(yīng)用程序經(jīng)常會(huì)出現(xiàn)函數(shù)名或類名重疊問(wèn)題,這會(huì)引起其他問(wèn)題。使用名稱空間可以幫助識(shí)別代碼提供的函數(shù)或?qū)嵱贸绦?,甚至可以幫助指定其?lái)源。一個(gè)例子就是 C# 中的 System 名稱空間,它包含有 .NET 框架提供的所有函數(shù)和類。

      在其他未提供正式名稱空間的語(yǔ)言中(比如 PHP V5.2 以及更早版本),人們常常通過(guò)在類或函數(shù)名中使用特定的命名約定來(lái)發(fā)揮名稱空間的作用。比如 Zend Framework,其中每個(gè)類名以 Zend 開(kāi)頭,并且每個(gè)子名稱空間使用下劃線分隔開(kāi)。比如,類定義 Zend_Db_Table 表示 Zend Framework 中的一個(gè)類并且提供數(shù)據(jù)庫(kù)功能。這種方法的一個(gè)缺點(diǎn)就是產(chǎn)生的代碼非常繁瑣,尤其是那些包含好幾層的類或函數(shù)(Zend Framework 中的 Zend_Cache_Backend_Apc 就是一個(gè)例子)。另一個(gè)問(wèn)題就是所有代碼必須遵循這種風(fēng)格,因此如果在應(yīng)用程序中集成了不遵循這種命名約定的第三方代碼后,問(wèn)題就復(fù)雜了。

      PHP 名稱空間的發(fā)展也并非一帆風(fēng)順。它們最初計(jì)劃引入到 PHP V5 中,但是由于無(wú)法獲得恰當(dāng)?shù)膶?shí)現(xiàn),因此在開(kāi)發(fā)階段被放棄。最后決定將它們并入到 PHP V6 中,在 2007 年決定將所有 nonunicode 增強(qiáng)移到另一個(gè) PHP V5.x 發(fā)行版后,名稱空間隨后被移入到 PHP V5.3 中。盡管自最初的設(shè)計(jì)之后絕大部分名稱空間行為沒(méi)有發(fā)生變化,但是使用哪一種操作符卻成了最大的問(wèn)題,并且社區(qū)成員對(duì)這個(gè)問(wèn)題有不同的看法。2008 年 10 月最終決定使用反斜杠作為操作符,從而解決了所有在語(yǔ)言設(shè)計(jì)和適用性方面使用各種其他操作符的問(wèn)題。

     

      PHP 名稱空間

     

      PHP 從其他語(yǔ)言中借鑒了很多名稱空間的語(yǔ)法和設(shè)計(jì) – 最突出的是 C++.然而,PHP 名稱空間在某些方面具有自己的獨(dú)特性,這對(duì)于希望像在其他語(yǔ)言中那樣使用名稱空間的用戶來(lái)說(shuō)是一個(gè)挑戰(zhàn)。在本節(jié)中,我們將研究 PHP 名稱空間的工作方式。

     

      定義一個(gè)名稱空間

     

      定義一個(gè)新的名稱空間非常簡(jiǎn)單。要定義新名稱空間,在一個(gè)文件中添加清單 1 中的代碼作為第一個(gè)命令或輸出。

     

      清單 1. 定義名稱空間

      1

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