[英]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.