[英]Codeigniter and Mongodb library - do I need a model?
我正在尝试将mongodb用作我的codeigniter应用程序的后端。 我找到并遵循以下示例: http : //www.surfinme.com/codeigniter-mongodb/
所以我有以下结构:
+应用程序\\库\\ Mongo_db.php配置\\ mongodb.php控制器\\ api.php
到目前为止,这是我的api.php文件的样子:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Api extends CI_Controller {
public function __construct()
{
parent::__construct();
//loading the mongodb library
$this->load->library('mongo_db');
}
public function index()
{
$data['main_content'] = "dashboard";
$this->load->view('includes/template',$data);
}
public function list_available()
{
//connect to mongodb collection (i.e., table) named as ‘surfinme_index’
$collection = $this->mongo_db->db->selectCollection('testcollection');
$result=$collection->find();
foreach($result as $data)
{
var_dump($data);
}
}
}
而且代码似乎可以正常工作。 它从数据库中获取我的数据,并将其转储到我的浏览器中。 但这“感觉”是错误的,因为我没有模型。 还是应该将库作为模型层查看? 我可以轻松地在models文件夹中创建一个名为api_model的文件,然后从那里进行对库的调用。 但这是过度杀伤力吗?
任何意见,将不胜感激。
谢谢。
取决于您要严格遵守MVC原则。
通过为数据库操作创建模型,您可以获得一些潜在的好处。 首先,它提供了可被多个控制器重用的源。 例如,可能有多个使用selectCollection
控制器。 其次,如果由于某种原因决定更改数据库,则只需修改模型,而不是对调用mongo_db
每个控制器进行mongo_db
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.