受PHP自身的动态特征的影响,在动态访问元素时,必须使用完全限定名,所以在动态的类、函数或常量名称中,限定名称和完全限定名没有区别,都是按照完全限定名进行解析
<?php namespace { const con=0; const test="test"; function foo(){ echo 'foo in global'."\n"; } class A{ static function foo(){ echo 'foo in global\A'."\n"; } } } namespace a\b{ const con = 1; const test="a\b\\test"; function foo(){ echo 'foo in a\b\foo'."\n"; } class A{ static function foo(){ echo 'foo in a\b\A'."\n"; } } $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中文网其它相关文章!
……