亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:33日期: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
相關文章:
主站蜘蛛池模板: 国产精品一区二区三区久久 | 亚洲乱亚洲乱妇无码 | 日本不卡在线一区二区三区视频 | 欧美日韩在线播放 | 黄色毛片视频免费 | 欧美一级录像 | 国产乱码一区二区三区 | 久久精品国产999久久久 | 免费成年人视频 | 国产亚洲精品资源一区 | 国产精品jizz在线观看免费 | 国产成人a视频在线观看 | 亚洲一区二区三 | 日鲁夜鲁天天鲁视频 | 日本老年人精品久久中文字幕 | 国产jjzzjjzz视频全部 | www.日韩视频 | 国产精品免费观看 | 久久99综合国产精品亚洲首页 | 香蕉视频免费播放 | 色香影院 | 国产精品成人va在线观看 | 性插免费视频 | 美国黄色一级片 | 日本黄色美女视频 | 国产亚洲美女精品久久久久 | 九九视频高清视频免费观看 | 国产黄色片大全 | 黄色片视频在线 | 久久国产精品久久精品国产 | 九九51精品国产免费看 | 国产成人片 | 国产成人在线视频观看 | 亚洲国产午夜看片 | 黄色的视频在线免费观看 | 人妖与黑人做爰 | 看大片免费一 | 免费国产成人综合 | 男人懂的网站 | 久久综合九色综合国产 | 欧美日韩三 |