-1

我开始在 php 中学习 oop,我想知道我接受多个参数的方法有什么问题。

class Database
{    
    public function __call($method, $args)
    {
        if($method == 'insertData') 
        {
            if(count($args) == 2)
            {
                return call_user_func_array(($this, 'insertData1'), $args)); //unexpected token ',' after $this
            }
            else if(count($args) == 3)
            {
                return call_user_func_array(($this, 'insertData2'), $args));   
            }
        }
    }

    public function insertData1($table, $field1)
    {

    }

    public function insertData2($table, $field1, $field2)
    {

    }
}
4

2 回答 2

1

您的方法调用中缺少数组:

call_user_func_array(array($this, 'insertData1'), $args);
于 2013-07-29T20:05:35.157 回答
1

第一个参数call_user_func_array必须是可调用的,或者在您的情况下是数组:

call_user_func_array(array($this, 'insertData1'), $args));

代替:

call_user_func_array(($this, 'insertData1'), $args));
于 2013-07-29T20:05:35.203 回答