PHP動態訪問元素時命名空間的使用

2021-08-29 22:45:55 字數 782 閱讀 5133

受php自身的動態特徵的影響,在動態訪問元素時,必須使用完全限定名,所以在動態的類、函式或常量名稱中,限定名稱和完全限定名沒有區別,都是按照完全限定名進行解析。

<?php

namespace

class a}}

namespace a\b

class a

}$a='a';

$obj=new $a();

$obj->foo();

$a='\a';

$obj=new $a();

$obj->foo();

$a='a\b\a';

$obj=new $a();

$obj->foo();

$a='\a\b\a';

$obj=new $a();

$obj->foo();

$b="con";

echo constant($b)."\n";

$b="\con";

echo constant($b)."\n";

$b="a\b\con";

echo constant($b)."\n";

$b="\a\b\con";

echo constant($b)."\n";

$c="foo";

$c();

$c="\\foo";

$c();

$c="a\b\\foo";

$c();

$c="\\a\\b\\foo";

$c();

}?>

PHP的命名空間

php的命名空間 namespace 是php5.3之後才有的。這個概念在c 中已經很早就有了,php中的namespace其實和c 的概念是一樣的。假設如果不使用namespace,那麼每個類在乙個專案中的名字就必須是固定的。因為php在new的時候不管是呼叫autoload還是呼叫已載入過的類,...

php的命名空間

允許通過別名引用或匯入外部的完全限定名稱,是命名空間的乙個重要特徵。這有點類似於在類 unix 檔案系統中可以建立對其它的檔案或目錄的符號連線。php 命名空間支援 有兩種使用別名或匯入方式 為類名稱使用別名,或為命名空間名稱使用別名。注意php不支援匯入函式或常量。useexample 1 使用u...

PHP的命名空間

php的命名空間 namespace 是php5.3之後才有的。這個概念在c 中已經很早就有了,php中的namespace其實和c 的概念是一樣的。假設如果不使用namespace,那麼每個類在乙個專案中的名字就必須是固定的。因為php在new的時候不管是呼叫autoload還是呼叫已載入過的類,...