0

これをテストするための今夜の環境セットアップはありませんが、この質問は一晩中しつこいので、申し訳ありません.

試みた CRUD ライブラリとともに、codeigniter フレームワーク内で phpactiverecord使用しています。関数「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 に答える