2012-02-01 36 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 
}