CRUD - 使用“call_user_func_array”创建新的(php-activerecord)记录


CRUD - using "call_user_func_array" to create new (php-activerecord)record?

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

在我的代码点火器框架中使用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);
  }

如果:

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());