获取可能存在的类时发生php异常
我尝试创建一个函数来加载数组中的类。但也可能是类不存在的情况,在这种情况下,我希望得到一个错误字符串,该字符串位于该位置,如果它存在,则该类必须位于该位置。 所以我想我要用try,catch来捕捉错误,但我还是得到了tge错误获取可能存在的类时发生php异常,php,class,exception,Php,Class,Exception,我尝试创建一个函数来加载数组中的类。但也可能是类不存在的情况,在这种情况下,我希望得到一个错误字符串,该字符串位于该位置,如果它存在,则该类必须位于该位置。 所以我想我要用try,catch来捕捉错误,但我还是得到了tge错误 try { $content = $extension::content(); } catch (Exception $e) { $content = '[undefined extension:'.$extension.']';
try {
$content = $extension::content();
} catch (Exception $e) {
$content = '[undefined extension:'.$extension.']';
}
谁能帮我
谢谢尝试使用class\u现有文档
e、 g
由于PHP5,您可以自动加载类。只要您尝试加载一个PHP不知道的类,它就会运行您的自定义函数,然后该函数将能够定位该类或抛出一个不存在的异常 请在此处阅读:
在PHP中,默认情况下错误并不例外,无法捕获。但是,当发生错误时,可以使用set_exception_处理程序抛出异常。遗憾的是,此方法无法处理致命错误
要检查类是否存在,可以调用class_exists。如果特定的自动加载函数无法加载该类,则引发异常是一件坏事。除非您注意多个自动加载函数的执行顺序并确保最后调用您的函数,否则一般情况下,每个函数都必须检查是否可以加载该类,如果不能,则将此任务传递给下一个函数。简单地调用类_exists是更好的解决方案。
<?php
if( class_exists( $extension ) )
{
$content = $extension::content();
}else{
$content = '[undefined extension:'.$extension.']';
}
if ( class_exists($extension) && property_exists($extension, 'content') ) {
$content = $extension::content();
}else{
$content = '[undefined extension:'.$extension.']';
}