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手册上的范例
<?phpnamespace 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"
温馨提示:答案为网友推荐,仅供参考