调用类中不存在的函数时的自定义错误消息

时间:2014-09-01 16:52:54

标签: php function class

我在GitHub(link)*上有一个类,如果指定的类不存在,我想输出一个自定义错误消息。这可能吗?例如:

用户尝试调用函数123456()并且它不存在(main::123456())并且它不存在,输出错误消息:

  

抱歉,功能123456不存在或被删除。

这可能吗?

*链接不再存在

1 个答案:

答案 0 :(得分:1)

您可以通过覆盖魔术方法__call()来实现。这样做时,必须为该方法提供两个参数(例如,$name$args),否则这将无法正常工作。

class MyClass {
    public function __call($name, $arguments) {
        throw new Exception("failed to call method ".$name);
    }
    public function __callStatic($name, $arguments) {
        throw new Exception("failed to call static method ".$name);
    }
}