我相信之前已经用不同的词语问过,我已经对类似的问题进行了搜索,发现:

但是,作为一名C#开发人员,我有时会发现很难将以前的语言知识与其他工具(例如PHP)分开 . 我的理念是遵循语言本身的事实标准 .

话虽这么说,我使用了几个ORM工具,如Db4objects,DevExpress XPO,EntityFramework等等 . 我发现与CodeIgniter中的ActiveRecord实现的.Net方法完全不同的是如何使用模型,例如,在CI中,你通常会加载一个模型实例并使用它几乎像一个静态方法来完成所有操作然后将某种数据作为参数传递为数组或多个参数:

$this->load->model('User_model');
$this->User_model->save($username, $password);

要么:

$this->load->model('User_model');
$this->User_model->save(array(
  'user' => 'theuser',
  'password' => 'thepassword'
));

因此,您最终会使用相同的实例来执行所有操作,但有时这可能会让人感到困惑,特别是来自另一种面向对象的语言,我经常会发现自己这样做:

$user = new User_model();
$user->username = 'theusername';
$user->password = 'thepassword';
$user->save();

如图所示,我在实例上调用一个方法来进行实际工作,save方法如下所示:

function save() {
  $this->db->set('username', $this->username);
  $this->db->set('username', md5($this->password));
  $this->db->insert('User');
}

是否有一些推荐的标准在CI中进行此类操作?我知道必须有利有弊,但我在CI文档中没有看到关于这个主题的任何内容 .

提前致谢!