欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          php命名空間之如何定義空間?

          本篇文章將開(kāi)始介紹命名空間。命名空間是一種封裝事物的方法,在很多地方都可以見(jiàn)到這種抽象概念。今天我們就來(lái)介紹介紹,有需要的可以參考一下。

          首先,我們了解一下什么是命名空間。(有需要的可以參考PHP 命名空間)

          在PHP中,名稱(chēng)空間可以解決編寫(xiě)類(lèi)庫(kù)或應(yīng)用程序(如類(lèi)或函數(shù)),創(chuàng)建可重用代碼時(shí),所遇到的問(wèn)題:

          • 用戶(hù)編寫(xiě)的代碼名稱(chēng)與PHP中的類(lèi)/函數(shù)/常量或第三方類(lèi)/函數(shù)/常量的名稱(chēng)發(fā)生沖突。

          • 為用戶(hù)編寫(xiě)的很長(zhǎng)的標(biāo)識(shí)符名稱(chēng)創(chuàng)建一個(gè)別名(或簡(jiǎn)短),提高源代碼的可讀性。

          PHP的命名空間提供了一種將相關(guān)的類(lèi)、函數(shù)和常量組合到一起的途徑。

          現(xiàn)在就讓我們正式進(jìn)入今天的介紹,如何去定義一個(gè)命名空間。

          首先我們來(lái)看一個(gè)小栗子。

          <?php declare(encoding='UTF-8'); //定義多個(gè)命名空間和不包含在命名空間中的代碼 namespace MyProject {  const CONNECT_OK = 1; class Connection { /* ... */ } function connect() { /* ... */  } }  namespace { // 全局代碼 session_start(); $a = MyProjectconnect(); echo MyProjectConnection::start(); } ?>

          我們觀察一下,發(fā)現(xiàn)在這兩段代碼中,都有一個(gè)共同的特點(diǎn),就是有關(guān)鍵詞“namespace”,但是關(guān)鍵詞后面卻并不一樣,這是什么原因呢?等我們學(xué)習(xí)了命名空間知識(shí)之后,就會(huì)知道啦。

          默認(rèn)情況下,所有常量、類(lèi)和函數(shù)名都放在全局空間中,就像PHP支持的名稱(chēng)空間之前一樣。

          命名空間通過(guò)關(guān)鍵字namespace來(lái)聲明。如果一個(gè)文件中包含命名空間,它必須在其它所有代碼之前聲明命名空間。語(yǔ)法格式如下;

          <?php   // 定義代碼在 'MyProject' 命名空間中   namespace MyProject;     // ... 代碼 ...

          并且,我們可以在同一個(gè)文件中定義不同的命名空間代碼。但是,將全局非命名空間中的代碼與命名空間中的代碼組合時(shí),只能使用大括號(hào)中的語(yǔ)法。全局代碼必須用未命名的namespace語(yǔ)句括在大括號(hào)中。

          同時(shí),聲明名稱(chēng)空間之前唯一有效的代碼是定義源文件編碼的declare語(yǔ)句。所有非PHP代碼(包括空格)都不能出現(xiàn)在名稱(chēng)空間聲明之前。

          命名空間的命名就說(shuō)到這里了,有其他想知道的,可以點(diǎn)擊這個(gè)哦。→ →php視頻教程

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