久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

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

      php命名空間use關(guān)鍵字怎么用

      在php中,use關(guān)鍵字可以用來(lái)導(dǎo)入命名空間,語(yǔ)法“use namespace;”;也可用來(lái)導(dǎo)入函數(shù)和常量,并為它們?cè)O(shè)置別名,語(yǔ)法“use 命名空間 as 別名;”。

      php命名空間use關(guān)鍵字怎么用

      本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

      什么是命名空間?

      從廣義上來(lái)說(shuō),命名空間是一種封裝事物的方法,在很多地方都可以見(jiàn)到這種抽象概念。例如,在操作系統(tǒng)中目錄用來(lái)將相關(guān)文件分組,對(duì)于目錄中的文件來(lái)說(shuō),它就扮演了命名空間的角色。

      命名空間的定義

      PHP 中命名空間(namespace)是在 PHP5.3 中加入的,如果你了解過(guò) C++ 的話,那命名空間就不算什么新事物了。不過(guò)命名空間在 PHP 當(dāng)中還是相當(dāng)重要的。

      PHP 命名空間可以解決以下兩類(lèi)問(wèn)題:

      • 用戶(hù)編寫(xiě)的代碼與 PHP 內(nèi)部的類(lèi)/函數(shù)/常量或第三方類(lèi)/函數(shù)/常量之間的命名沖突;

      • 為很長(zhǎng)的標(biāo)識(shí)符名稱(chēng)(通常是為了緩解第一類(lèi)問(wèn)題而定義的)創(chuàng)建一個(gè)別名(或簡(jiǎn)短)的名稱(chēng),以提高源代碼的可讀性。

      定義命名空間(使用關(guān)鍵字 namespace)

      雖然任意合法的 PHP 代碼都可以包含在命名空間中,但只有類(lèi)(包括抽象類(lèi)和 traits)、接口、函數(shù)和常量等類(lèi)型的代碼受命名空間的影響。

      命名空間的定義需要通過(guò)關(guān)鍵字 namespace 來(lái)聲明,語(yǔ)法格式如下:

      namespace 命名空間名;

      【示例】下面我們來(lái)演示一下如何定義了命名空間:

      <?php     namespace MyProject;    // 定義名為 MyProject 的命名空間。     const CONNECT_OK = 1;     class Myclass {         /* ... */     }     function Myfunc() {         /* ... */     } ?>

      在聲明命名空間之前除了用于定義源文件編碼方式的 declare 語(yǔ)句外,所有非 PHP 代碼(包括空白符)都不能出現(xiàn)在命名空間聲明之前。

      使用命名空間:別名/導(dǎo)入

      PHP 允許通過(guò)別名引用或?qū)氲姆绞絹?lái)使用外部的命名空間,這是命名空間的一個(gè)重要特征。這有點(diǎn)類(lèi)似于在類(lèi) unix 文件系統(tǒng)中可以創(chuàng)建對(duì)其它的文件或目錄的符號(hào)連接。

      使用 use 關(guān)鍵字可以實(shí)現(xiàn)命名空間的導(dǎo)入,從 PHP5.6 開(kāi)始允許導(dǎo)入函數(shù)和常量,并為它們?cè)O(shè)置別名。語(yǔ)法格式如下:

      use namespace;

      在 PHP 中,別名是通過(guò)操作符 use 與 as 來(lái)實(shí)現(xiàn)的,語(yǔ)法格式如下:

      use 命名空間 as 別名;

      【示例】使用 use 操作符導(dǎo)入和使用別名。

      <?php     namespace foo;     use MyFullClassname as Another;     // 下面的例子與 use MyFullNSname as NSname 相同     use MyFullNSname;     // 導(dǎo)入一個(gè)全局類(lèi)     use ArrayObject;     // 導(dǎo)入一個(gè)函數(shù)     use function MyFullfunctionName;     // 導(dǎo)入一個(gè)函數(shù)并定義別名     use function MyFullfunctionName as func;     // 導(dǎo)入一個(gè)常量     use const MyFullCONSTANT;     $obj = new namespaceAnother;   // 實(shí)例化 fooAnother 對(duì)象     $obj = new Another;             // 實(shí)例化 MyFullClassname 對(duì)象     NSnamesubnsfunc();            // 調(diào)用 MyFullNSnamesubnsfunc 函數(shù)     $a = new ArrayObject(array(1)); // 實(shí)例化 ArrayObject 對(duì)象                                     // 如果不使用 "use ArrayObject" ,則實(shí)例化一個(gè) fooArrayObject 對(duì)象     func();                         // 調(diào)用 MyFullfunctionName 函數(shù)     echo CONSTANT;                  // 打印 MyFullCONSTANT 常量 ?>

      注意:對(duì)命名空間中的名稱(chēng)(包含命名空間分隔符的完全限定名稱(chēng),如 FooBar ,以及相對(duì)的不包含命名空間分隔符的全局名稱(chēng),如 FooBar)來(lái)說(shuō),前導(dǎo)的反斜杠是不必要的也是不推薦的,因?yàn)閷?dǎo)入的名稱(chēng)必須是完全限定的,不會(huì)根據(jù)當(dāng)前的命名空間作相對(duì)解析。

      為了簡(jiǎn)化操作,PHP 還支持在一行中導(dǎo)入多個(gè)命名空間,中間使用,隔開(kāi),示例代碼如下:

      <?php     use MyFullClassname as Another, MyFullNSname;     $obj = new Another;     // 實(shí)例化 MyFullClassname 對(duì)象     NSnamesubnsfunc();    // 調(diào)用 MyFullNSnamesubnsfunc 函數(shù) ?>

      導(dǎo)入操作是編譯執(zhí)行的,但動(dòng)態(tài)的類(lèi)名稱(chēng)、函數(shù)名稱(chēng)或常量名稱(chēng)則不是。

      <?php     use MyFullClassname as Another, MyFullNSname;     $obj = new Another; // 實(shí)例化一個(gè) MyFullClassname 對(duì)象     $a = 'Another';     $obj = new $a;      // 實(shí)際化一個(gè) Another 對(duì)象 ?>

      另外,導(dǎo)入操作只影響非限定名稱(chēng)和限定名稱(chēng)。完全限定名稱(chēng)由于是確定的,故不受導(dǎo)入的影響。

      推薦學(xué)習(xí):《PHP視頻教程》

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