php new 类 失败如果捕获?

try {

if($procObj=new abc())
print('dddddddddd');
else
print('cccccccccc');

}
catch (Exception $e) {
print $e->getMessage();
}
因类 abc 不存在,于程序没办法,执行到下边去.print('dddddddddd');, print('cccccccccc'); 都无法打印出来,现在要明知 类 abc 不存在的情况下,还要打印出 print('dddddddddd'); 或 print('cccccccccc');
现在的目的就是,在 new abc 失败以后,继续执行,如报一个类不存在的提示,而不是报一个
Fatal error: Class 'abc' not found in 的系统错误提示.

这个简单啊 php有个反射类库内建函数 看类是否存在 或者已经定义


ReflectionClass::inNamespace


php手册上的范例

<?php
 namespace  A \ B ;
class  Foo  { }
 $function  = new \ ReflectionClass ( 'stdClass' );
 var_dump ( $function -> inNamespace ());
 var_dump ( $function -> getName ());
 var_dump ( $function -> getNamespaceName ());
 var_dump ( $function -> getShortName ());
 $function  = new \ ReflectionClass ( 'A\\B\\Foo' );
 var_dump ( $function -> inNamespace ());
 var_dump ( $function -> getName ());
 var_dump ( $function -> getNamespaceName ());
 var_dump ( $function -> getShortName ());
 ?>


以上例程会输出:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网