2012-02-01 37 views
3

有这样的事吗?未定义函数的魔法?

某种魔术功能,允许您在未定义的函数调用错误被引发之前更改内容?

__call,但对于正常的功能:)

+0

也许你能描述你为什么会想这样的行为?我没有遇到过这样的需求...... – 2012-02-01 23:26:45

+0

没有这样的事情,我相信。没有[PECL扩展名](http://pecl.php.net/packages.php?catpid=25&catname=PHP),这是你需要的。 – mario 2012-02-01 23:28:42

+0

为什么要捕捉错误而不是阻止它?用['function_exists()'](http://php.net/function_exists)测试函数是否存在。 – kba 2012-02-01 23:28:46

回答

2

我会做cheking前调用这样的方法:

$obj = new Foo(); 
$method = "myMethod"; 

if(is_callable(array($obj, $method)){ 
    $obj->$method(); 
}else{ 
    // Do some stuff 
}