成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

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

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

瀏覽:92日期: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
相關文章:
主站蜘蛛池模板: 日韩美女在线视频 | 久久免费观看国产精品 | 亚洲黄色成人 | 日韩亚洲精品不卡在线 | 欧美日韩一级片在线观看 | 午夜限制r级噜噜片一区二区 | 欧美色视频日本片高清在线观看 | 国产高清免费视频 | 成人网18免费看 | 精品亚洲一区二区三区 | 亚州久久| 国产免费人成在线看视频 | 亚洲区精品久久一区二区三区 | 欧美综合一区二区三区 | 亚洲国产99在线精品一区二区 | 91精品自在拍精选久久 | 久久成人小视频 | 爽死你个放荡粗暴小淫货双女视频 | 美女精品永久福利在线 | 国产精选经典三级小泽玛利亚 | 一区二区三区免费视频观看 | 国产片网站 | 国产精品国产三级国产专区5o | 大桥未久在线精品视频在线 | 欧美久草 | 国产一级aaa全黄毛片 | 在线视频一区二区日韩国产 | 国产精品99在线观看 | 亚洲 欧美 激情 另类 自拍 | 91精品免费国产高清在线 | 欧美在线小视频 | 三及毛片| 欧美.亚洲.日本一区二区三区 | 一区不卡在线观看 | 国内真实愉拍系列情侣自拍 | 1a级毛片免费观看 | 亚洲国产精品久久久天堂 | 日本一区二区三区在线 视频观看免费 | 永久免费毛片手机版在线看 | 黄网址在线看 | 亚洲永久|