2017-02-17 63 views
0

使用笨,或任何MVC框架,条件是模型是数据库包装和控制器必须不包含有关数据库或数据库的任何连接的任何信息。现在MVC混乱(笨)

,如果一个人创建一个通用模型类说“DB_Model”有法

add($table, $fields) 

要使用这个方法,那人必须从控制器称其为

$this->DB_Model->add('my_table_name', $fields) 

现在的问题是,是不是这个错误被模型 - 视图 - 控制器框架的定义是什么?我的意思是,控制器现在得到了关于数据库的信息。

感谢

编辑:我不怀疑CI只是上述做法,有些人做花上的应用程序更少的时间,编码。

+0

但不是它的模型做实际的数据库工作? – qwertzman

+0

$ db_model_obj = new DB_Model(); – MackProgramsAlot

+0

$ db_model_obj-> someFunction(); – MackProgramsAlot

回答

1

所以CI工作的方式是

建立在实际的DB工作已经完成模型的方法。 https://www.codeigniter.com/user_guide/general/models.html

创建一个控制器调用模型:从上述链路采取

class Blog_controller extends CI_Controller { 

     public function blog() 
     { 
       $this->load->model('blog'); 
       $data['query'] = $this->blog->get_last_ten_entries(); 
       $this->load->view('blog', $data); 
     } 
} 

例子。

编辑:没错这就是错在我看来,这不是正确的去耦他们告诉你的方式(?)。

+1

我会打电话给CI MVC-ish。其中一个卖点是:_CodeIgniter鼓励MVC,但不会强迫你._ – ourmandave