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

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

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

瀏覽:42日期: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
相關文章:
主站蜘蛛池模板: 欧美精品一区二区久久 | 亚洲精品中文字幕乱码影院 | 一级毛片国产真人永久在线 | 日韩一级在线观看 | 亚洲免费在线看 | 免费一级成人免费观看 | 99久久伊人 | 国产福利微拍精品一区二区 | 国产午夜精品视频 | 一本色道久久综合狠狠躁篇 | 国产美女高清片免费观看 | 国产亚洲精品自在久久不卡 | 婷婷国产天堂久久综合五月 | 色在线国产 | 真人一级毛片免费观看视频 | 成人性色生活片全黄 | 日韩精品久久不卡中文字幕 | 欧美在线看欧美高清视频免费 | 国产精品视频免费 | 日本一级淫片a 免费播放口 | 黑人破乌克兰美女处 | 中国黄色毛片视频 | 最全精品自拍视频在线 | 久久婷婷色一区二区三区 | 一级毛片ab片高清毛片 | 欧美黄色一级大片 | 69男女囗交动态图视频 | 国产亚洲精品久久久久久小说 | 啪视频 | 成人免费激情视频 | 亚洲不卡一区二区三区在线 | 曰韩一级毛片 | 一区二区免费视频 | 热门国产xvideos中文 | 国产黄色a三级三级三级 | 亚洲国产一区二区在线 | 国产精品视频大全 | 亚洲精品美女国产一区 | 国产香蕉免费精品视频 | 午夜免费福利不卡网址92 | 国内亚州视频在线观看 |