預設情況下,所有常量、類和函式名都放在全域性空間下,命名空間通過關鍵字namespace 來宣告。命名空間有效解決方法/類的同名衝突
如果乙個檔案中包含命名空間,它必須在其它所有**之前宣告命名空間。
php命名空間可以解決以下兩類問題。
使用者編寫的**與php內部的類/函式/常量或第三方類/函式/常量之間的名字衝突。
為很長的識別符號名稱(通常是為了緩解第一類問題而定義的)建立乙個別名(或簡短)的名稱,提高源**的可讀性。
//namespace關鍵字定義命名空間,下列兩個命名空間mytest1,mytest2有相同的常量,方法和類
//命名空間mytest1
namespace mytest1;
const name='小明';
function show()
class demo
public function __set($name,$value)
}//命名空間mytest2
namespace mytest2;
const name='大明';
function show()
class demo
public function __set($name,$value)
}//__namespace__://可以獲取當前是在訪問哪個命名空間
echo __namespace__;//當前命名空間mytest2
echo name;//大明
echo show();//我是大明
$demo=new demo();
echo $demo->name;//大紅
echo $demo->name='big red';//big red
//如果需要獲取mytest1的成員和方法,則使用\命名空間\成員或方法的格式
echo \mytest1\name;//小明
echo \mytest1\show();//我是小明
$demo=new \mytest1\demo();
echo $demo->name;//小紅
echo $demo->name='small red';//small red
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開始允...