我正在尝试使用call_user_func_array调用对象的非静态方法,但我不了解如何制定回调.我在网上找到了很多类似的例子,但没有什么比我遇到的更像.
class DBCommand {
private $db; // The DBConnection object
function __construct() {
$db = new DBConnection();
}
function callMethod($method, $arguments) {
// This line gives me the error:
return call_user_func_array(array($this->db, "$method"), $arguments);
}
}
?>
使用DBConnection方法的名称调用callMethod及其正确的参数给了我这个
PHP Warning: call_user_func_array() expects parameter 1 to be a valid
callback, first array member is not a valid class name or object
因此,callMethod返回null.
解决方法:
使用符号[$objectHandle,“methodName”]动态调用非静态方法:
call_user_func_array([$this,$method], $arguments);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。