0

我今晚没有环境设置来测试这个,但是这个问题整晚都在困扰着我,所以很抱歉。

我在我的 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);
  }
4

1 回答 1

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());
于 2012-04-11T12:10:33.123 回答