命名空间注意事项:class_exists()

浏览:8405 发布日期:2014/01/07 分类:技术分享
今天遇到一个十分蛋疼的问题
<?php
namespace Common\Lib;
class A{
static function test(){
\dump(class_exists('B'));
}

static function getB(){
return new B();
}
}

class B{
function __construct(){
echo "这是B";
}
}
?>

执行:
<?php
\Common\Lib\A::test()."__";
\Common\Lib\A::getB();
?>

大家猜猜打印出来的会是什么结果?

+++++++++++++++先别看答案,新人先猜猜看+++++++







答案:false__这是B。。
解释:当一个类处于某个命名空间下时,class_exists()必须补全命名空间。如上面的例子,必须这样写 class_exists('\Common\Lib\B')
最佳答案
评论( 相关
后面还有条评论,点击查看>>