亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

PHP基礎之命名空間9——名稱解析規則

瀏覽:93日期:2022-09-15 09:13:00

在說明名稱解析規則之前,我們先看一些重要的定義:

命名空間名稱定義

非限定名稱名稱中不包含命名空間分隔符的標識符,例如?Foo

限定名稱名稱中含有命名空間分隔符的標識符,例如?FooBar

完全限定名稱名稱中包含命名空間分隔符,并以命名空間分隔符開始的標識符,例如?FooBar。?namespaceFoo?也是一個完全限定名稱。

名稱解析遵循下列規則:

對完全限定名稱的函數,類和常量的調用在編譯時解析。例如?new AB?解析為類?AB。所有的非限定名稱和限定名稱(非完全限定名稱)根據當前的導入規則在編譯時進行轉換。例如,如果命名空間?ABC?被導入為?C,那么對?CDe()?的調用就會被轉換為?ABCDe()。在命名空間內部,所有的沒有根據導入規則轉換的限定名稱均會在其前面加上當前的命名空間名稱。例如,在命名空間?AB?內部調用?CDe(),則?CDe()?會被轉換為ABCDe()?。非限定類名根據當前的導入規則在編譯時轉換(用全名代替短的導入名稱)。例如,如果命名空間?ABC?導入為C,則?new C()?被轉換為?new ABC()?。在命名空間內部(例如AB),對非限定名稱的函數調用是在運行時解析的。例如對函數?foo()?的調用是這樣解析的:在當前命名空間中查找名為?ABfoo()?的函數嘗試查找并調用?全局(global)?空間中的函數?foo()。在命名空間(例如AB)內部對非限定名稱或限定名稱類(非完全限定名稱)的調用是在運行時解析的。下面是調用?new C()?及?new DE()?的解析過程:?new C()的解析:在當前命名空間中查找ABC類。嘗試自動裝載類ABC。

new DE()的解析:

在類名稱前面加上當前命名空間名稱變成:ABDE,然后查找該類。嘗試自動裝載類?ABDE。

為了引用全局命名空間中的全局類,必須使用完全限定名稱?new C()。

Example #1 名稱解析示例

<?php namespace A; use BD, CE as F; // 函數調用 foo(); // 首先嘗試調用定義在命名空間'A'中的函數foo() // 再嘗試調用全局函數 'foo' foo(); // 調用全局空間函數 'foo' myfoo(); // 調用定義在命名空間'Amy'中函數 'foo' F(); // 首先嘗試調用定義在命名空間'A'中的函數 'F' // 再嘗試調用全局函數 'F' // 類引用 new B(); // 創建命名空間 'A' 中定義的類 'B' 的一個對象 // 如果未找到,則嘗試自動裝載類 'AB' new D(); // 使用導入規則,創建命名空間 'B' 中定義的類 'D' 的一個對象 // 如果未找到,則嘗試自動裝載類 'BD' new E(); // 使用導入規則,創建命名空間 'C' 中定義的類 'E' 的一個對象 // 如果未找到,則嘗試自動裝載類 'CE'new B(); // 創建定義在全局空間中的類 'B' 的一個對象 // 如果未發現,則嘗試自動裝載類 'B'new D(); // 創建定義在全局空間中的類 'D' 的一個對象 // 如果未發現,則嘗試自動裝載類 'D'new F(); // 創建定義在全局空間中的類 'F' 的一個對象 // 如果未發現,則嘗試自動裝載類 'F'// 調用另一個命名空間中的靜態方法或命名空間函數 Bfoo(); // 調用命名空間 'AB' 中函數 'foo' B::foo(); // 調用命名空間 'A' 中定義的類 'B' 的 'foo' 方法 // 如果未找到類 'AB' ,則嘗試自動裝載類 'AB' D::foo(); // 使用導入規則,調用命名空間 'B' 中定義的類 'D' 的 'foo' 方法 // 如果類 'BD' 未找到,則嘗試自動裝載類 'BD'Bfoo(); // 調用命名空間 'B' 中的函數 'foo' B::foo(); // 調用全局空間中的類 'B' 的 'foo' 方法 // 如果類 'B' 未找到,則嘗試自動裝載類 'B'// 當前命名空間中的靜態方法或函數 AB::foo(); // 調用命名空間 'AA' 中定義的類 'B' 的 'foo' 方法 // 如果類 'AAB' 未找到,則嘗試自動裝載類 'AAB'AB::foo(); // 調用命名空間 'AB' 中定義的類 'B' 的 'foo' 方法 // 如果類 'AB' 未找到,則嘗試自動裝載類 'AB'?>

標簽: PHP
相關文章:
主站蜘蛛池模板: 精品久久久久久国产 | 欧美男人操女人 | 午夜看片网站 | 亚洲精品国产第一区第二区国 | 国产大臿蕉香蕉大视频 | 美国一级毛片视频 | 亚洲成人午夜影院 | 欧美日韩精品在线视频 | 三上悠亚免费一区二区在线 | 亚洲精品成人一区二区aⅴ 亚洲精品成人一区二区www | 成人综合在线观看 | 爱久久精品国产 | 欧美一区二区三区日韩免费播 | 日本韩经典三级在线播放 | 中文字幕一区二区三 | 久久久久久青草大香综合精品 | 日韩欧美一区二区三区免费观看 | 99re热视频这里只精品 | 国产成人精品亚洲一区 | 久久国产网 | 大尺度福利视频在线观看网址 | 亚洲一区二区三区久久精品 | 日韩三级在线观看 | 国产一级片在线 | 国产福利拍拍拍 | 网红主播大尺度精品福利视频 | 97在线视频免费观看 | 国产一级特黄a大片99 | 久草经典视频 | xx69欧美| 欧美高清在线精品一区二区不卡 | 亚洲成人中文字幕 | 成人精品久久 | 亚洲综合第一欧美日韩中文 | 成人手机在线视频 | 在线视频免费国产成人 | 国产又粗又黄又湿又大 | 最新国产美女一区二区三区 | 欧美性色高清生活片 | 国产免费黄色网址 | 一级做a毛片在线看 |