我今晚没有环境设置来测试这个问题,但这个问题一直困扰着我,所以道歉。
我在我的codeigniter框架中使用phpactiverecord以及我尝试过的CRUD库。我对函数“call_user_func_array”没有很多经验 - 对我很遗憾。所以我想我的问题是......我的预期结果是否与此函数的实际结果相同
public static function create_record($obj, $attr){
$ORM = new $obj;
return (bool) call_user_func_array(array($ORM, "create"), $attr);
//self::create_record('Object', array);
//Expected: (bool)Object::create($attr);
}
答案 0 :(得分:1)
如果:
CRUD::create_record('User', $this->input->post());
就像:
User::create($this->input->post());
然后只需执行以下操作,这更简单:
$obj = 'User';
$obj::create($this->input->post());
如果您使用名称空间,它也可以工作。
$obj = 'app\models\User';
$obj::create($this->input->post());