色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:45日期: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站在线观看 | 亚洲永久免费 | 一级黄片一级毛片 | 手机在线免费看毛片 | 亚洲在线观看免费 | 美国三级网 | 国产成人不卡亚洲精品91 | 国产成人精品日本亚洲专区6 | 成人手机在线视频 | 天堂素人搭讪系列嫩模在线观看 | 久久黄网站 | 日韩国产成人精品视频 | 欧美aaaaa| 国产男女免费视频 | 美国一级毛片片aa久久综合 | caoporen在线视频入口 | 手机在线观看精品国产片 | 亚洲欧美成人综合久久久 | 香蕉久久高清国产精品免费 | 午夜毛片网站 | 国产原创91 | 最新国产精品亚洲二区 | 性做爰片免费视频毛片中文i | 成人精品国产亚洲 | 亚洲国产毛片 | 一级做a爰片性色毛片视频图片 | 国产亚洲精品国产第一 | 另类欧美视频 | 99久久精品久久久久久婷婷 | 中文字幕视频网站 | 欧美一级爆毛片 | 2021国产精品一区二区在线 | 看片网站在线 | 有码视频在线观看 | 日韩美女视频在线观看 | 1024香蕉视频在线播放 |