在 PHP 中,有什么方法可以忽略未定义的函数,而不是抛出浏览器中可见的 fatal error ? - 即, fatal error :调用未定义的函数
我知道有一种将所有自定义函数包装在条件中的做法,如下所示,但是有没有一种编程方法可以达到这种效果?
if (function_exists('my_function')) {
// use my_function() here;
}
最佳答案
没有。 fatal error 是致命的。即使您编写自己的错误处理程序或使用 @
错误抑制运算符,E_FATAL
错误仍会导致脚本停止执行。
处理这个问题的唯一方法是使用 function_exists()
(可能还有is_callable()
作为良好的衡量标准)如上面的示例所示。
围绕潜在(可能?)错误进行防御性编码总是比让错误发生并稍后处理它更好。
编辑 - php7 改变了这种行为,未定义的函数/方法是可捕获的异常。
关于php - PHP 中是否可以防止 "Fatal error: Call to undefined function"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7116995/