PHP基礎(chǔ)之命名空間6——使用別名和導(dǎo)入
允許通過(guò)別名引用或?qū)胪獠康耐耆薅Q,是命名空間的一個(gè)重要特征。這有點(diǎn)類似于在類 unix 文件系統(tǒng)中可以創(chuàng)建對(duì)其它的文件或目錄的符號(hào)連接。
PHP 命名空間支持有兩種使用別名或?qū)敕绞剑簽轭惷Q使用別名,或?yàn)槊臻g名稱使用別名。注意PHP不支持導(dǎo)入函數(shù)或常量。
在PHP中,別名是通過(guò)操作符?use?來(lái)實(shí)現(xiàn)的。下面是一個(gè)使用所有可能的三種導(dǎo)入方式的例子:
Example #1 使用use操作符導(dǎo)入/使用別名
<?php namespace foo; use MyFullClassname as Another; // 下面的例子與 use MyFullNSname as NSname 相同 use MyFullNSname; // 導(dǎo)入一個(gè)全局類 use ArrayObject; $obj = new namespaceAnother; // 實(shí)例化 fooAnother 對(duì)象 $obj = new Another; // 實(shí)例化 MyFullClassname 對(duì)象 NSnamesubnsfunc(); // 調(diào)用函數(shù) MyFullNSnamesubnsfunc $a = new ArrayObject(array(1)); // 實(shí)例化 ArrayObject 對(duì)象 // 如果不使用 'use ArrayObject' ,則實(shí)例化一個(gè) fooArrayObject 對(duì)象?>
注意對(duì)命名空間中的名稱(包含命名空間分隔符的完全限定名稱如?FooBar以及相對(duì)的不包含命名空間分隔符的全局名稱如?FooBar)來(lái)說(shuō),前導(dǎo)的反斜杠是不必要的也不允許有反斜杠,因?yàn)閷?dǎo)入的名稱必須是完全限定的,不會(huì)根據(jù)當(dāng)前的命名空間作相對(duì)解析。
為了簡(jiǎn)化操作,PHP還支持在一行中使用多個(gè)use語(yǔ)句
Example #2 通過(guò)use操作符導(dǎo)入/使用別名,一行中包含多個(gè)use語(yǔ)句
<?php use MyFullClassname as Another, MyFullNSname; $obj = new Another; // 實(shí)例化 MyFullClassname 對(duì)象 NSnamesubnsfunc(); // 調(diào)用函數(shù) MyFullNSnamesubnsfunc?>
導(dǎo)入操作是在編譯執(zhí)行的,但動(dòng)態(tài)的類名稱、函數(shù)名稱或常量名稱則不是。
Example #3 導(dǎo)入和動(dòng)態(tài)名稱
<?php use MyFullClassname as Another, MyFullNSname; $obj = new Another; // 實(shí)例化一個(gè) MyFullClassname 對(duì)象 $a = ’Another’; $obj = new $a; // 實(shí)際化一個(gè) Another 對(duì)象?>
另外,導(dǎo)入操作只影響非限定名稱和限定名稱。完全限定名稱由于是確定的,故不受導(dǎo)入的影響。
Example #4 導(dǎo)入和完全限定名稱
<?php use MyFullClassname as Another, MyFullNSname; $obj = new Another; // 實(shí)例化MyFullClassname類的對(duì)象 $obj = new Another; // 實(shí)例化Another類的對(duì)象 $obj = new Anotherthing; // 實(shí)例化MyFullClassnamething類的對(duì)象 $obj = new Anotherthing; // 實(shí)例化Anotherthing類的對(duì)象 ?>
相關(guān)文章:
1. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. CSS可以做的幾個(gè)令你嘆為觀止的實(shí)例分享3. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能4. 淺談?dòng)蓀osition屬性引申的css進(jìn)階討論5. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)6. asp批量添加修改刪除操作示例代碼7. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)財(cái)務(wù)記賬管理系統(tǒng)8. vue項(xiàng)目登錄成功拿到令牌跳轉(zhuǎn)失敗401無(wú)登錄信息的解決9. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享10. vue前端RSA加密java后端解密的方法實(shí)現(xiàn)

網(wǎng)公網(wǎng)安備