注意訪問任意全域性類、函式或常量,都可以使用完全限定名稱,例如\strlen()或\exception或 \ini_all。
解析策略:(首先要明確類的呼叫或函式的呼叫是直接使用類名還是通過可變函式(即通過變數名))
一、對於直接呼叫的解析策略
1、類名稱總是解析到當前命名空間中的名稱。因此在訪問系統內部或不包含在命名空間中的類名稱時,必須使用完全限定名稱,否則會報錯。
對於函式和常量來說,如果當前命名空間中不存在該函式或常量,php 會退而使用全域性空間中的函式或常量。
二、通過變數名來呼叫(語言的動態特性)
通過變數名來訪問類名,函式或常量時實際上是使用了完全限定名稱(省略了反斜槓)
php支援兩種抽象的訪問當前命名空間內部元素的方法,__namespace__
魔術常量和namespace
關鍵字。常量__namespace__
的值是包含當前命名空間名稱的字串。在全域性的,不包括在任何命名空間中的**,它包含乙個空的字串。
php 命名空間,PHP使用命名空間
介紹 命名空間中的類,函式或常量可以通過以下方式使用 在當前命名空間中使用類 指定相對於當前命名空間的命名空間 提供命名空間的全限定名稱 從當前命名空間 在此示例中,從test1.php載入了命名空間。沒有命名空間引用的函式或類名稱將訪問當前命名空間中的功能或類名稱 示例 test1.php nam...
php命名空間
namespace misszhou function var dump a 1 var dump var dump 1 表示呼叫全域性 解決常量的衝突問題 有點像子目錄的概念 namespace meizi 必須放第一行 include func.inc.php function one func...
php 命名空間
使用命名空間 別名 匯入,允許通過別名引用或匯入外部的完全限定名稱,是命名空間的乙個重要特徵。這有點類似於在類 unix 檔案系統中可以建立對其它的檔案或目錄的符號連線。所有支援命名空間的php版本支援三種別名或匯入方式 為類名稱使用別名 為介面使用別名或為命名空間名稱使用別名。php 5.6開始允...