日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php命名空间规则解析及高级功能,PHP命名空间解析规则

發布時間:2025/3/12 php 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php命名空间规则解析及高级功能,PHP命名空间解析规则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP 5.3加入命名空間特性之后,相信很多朋友在產品開發的中已經大量使用了,

不過其解析規則反正是讓我糾結了一下子,不注意就會被搞暈,幸好在手冊中發現這么一段代碼,

故手冊中其他關于namespace的內容,就可以忽略了,直接看下面的代碼

namespace A;

use B\D, C\E as F;

// 函數調用

foo(); // 首先嘗試調用定義在命名空間"A"中的函數foo()

// 再嘗試調用全局函數 "foo"

\foo(); // 調用全局空間函數 "foo"

my\foo(); // 調用定義在命名空間"A\my"中函數 "foo"

F(); // 首先嘗試調用定義在命名空間"A"中的函數 "F"

// 再嘗試調用全局函數 "F"

// 類引用

new B(); // 創建命名空間 "A" 中定義的類 "B" 的一個對象

// 如果未找到,則嘗試自動裝載類 "A\B"

new D(); // 使用導入規則,創建命名空間 "B" 中定義的類 "D" 的一個對象

// 如果未找到,則嘗試自動裝載類 "B\D"

new F(); // 使用導入規則,創建命名空間 "C" 中定義的類 "E" 的一個對象

// 如果未找到,則嘗試自動裝載類 "C\E"

new \B(); // 創建定義在全局空間中的類 "B" 的一個對象

// 如果未發現,則嘗試自動裝載類 "B"

new \D(); // 創建定義在全局空間中的類 "D" 的一個對象

// 如果未發現,則嘗試自動裝載類 "D"

new \F(); // 創建定義在全局空間中的類 "F" 的一個對象

// 如果未發現,則嘗試自動裝載類 "F"

// 調用另一個命名空間中的靜態方法或命名空間函數

B\foo(); // 調用命名空間 "A\B" 中函數 "foo"

B::foo(); // 調用命名空間 "A" 中定義的類 "B" 的 "foo" 方法

// 如果未找到類 "A\B" ,則嘗試自動裝載類 "A\B"

D::foo(); // 使用導入規則,調用命名空間 "B" 中定義的類 "D" 的 "foo" 方法

// 如果類 "B\D" 未找到,則嘗試自動裝載類 "B\D"

\B\foo(); // 調用命名空間 "B" 中的函數 "foo"

\B::foo(); // 調用全局空間中的類 "B" 的 "foo" 方法

// 如果類 "B" 未找到,則嘗試自動裝載類 "B"

// 當前命名空間中的靜態方法或函數

A\B::foo(); // 調用命名空間 "A\A" 中定義的類 "B" 的 "foo" 方法

// 如果類 "A\A\B" 未找到,則嘗試自動裝載類 "A\A\B"

\A\B::foo(); // 調用命名空間 "A\B" 中定義的類 "B" 的 "foo" 方法

// 如果類 "A\B" 未找到,則嘗試自動裝載類 "A\B"

總結

以上是生活随笔為你收集整理的php命名空间规则解析及高级功能,PHP命名空间解析规则的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。