我使用codeIgniter作为我的框架来构建一个非常大的网站。百事大吉。我使用模型从/向数据库获取/发送数据。但最近有个问题让我困惑。在从整个页面的循环中获取数据时,我不使用模型。
例如,对于右边的侧边栏,我使用一个循环来获取类别列表。现在,这个循环基于一个数组,这个数组是从数据库检索的一组数据。来自DB的数据检索是在控制器中处理的。这是对的吗?或者我应该只从DB获得数据,并且只在模型中获得数据?因为我只使用模型注册/登录/通讯/订单等。
下面是我的一个控制器,它还负责获取DB数据:
$this->niazer->
是一个库,它负责获取数据库数据(仅为我当前的项目制作)
<?php
/**
This controller is the basic controller to render the webpages. Now we have the
**/
class show extends CI_Controller
{
function index()
{
/** getting list of categories **/
$cats = $this->niazer->get_pa('all'); // getting all the parents
$x= $this->niazer->get_child($cats);
$data['main_cats'] = $cats;
/** getting list of categories **/
/** getting list of special ads with 5-7 stars **/
$special_ads_var = $this->niazer->get_ads(array("star-min"=>5, "star-max"=>7, "row"=>5)); // getting all the parents
$data['special_ads'] = $special_ads_var;
/** end of special ads list **/
/** getting list of special ads with 5-7 stars **/
$special_ads_var = $this->niazer->get_news(array("limit"=>20)); // getting all the parents
$theme_name = $this->theme->get_theme_with_slash(false);
$this->load->view($theme_name.'header', $data);
$this->load->view($theme_name.'index', $data);
$this->load->view($theme_name.'footer', $data);
}
}
发布于 2013-11-14 15:04:43
如果这是关于良好的实践和原则,那么你做错了,海事组织。
该模型为控制器提供了用户请求的任何内容的数据表示(消息、书籍列表、相册等)。这个数据模型将是相同的,无论您如何将它呈现给用户,这就是为什么您可以选择任何可用的视图来呈现它。模型包含应用程序逻辑中最重要的部分,适用于您正在处理的问题(论坛、商店、银行等)的逻辑。 控制器包含应用程序本身更多的内部组织逻辑(更像是内务管理)。
我不能在这里写这些东西,但是我认为这个答案涵盖了你想要的东西。
老实说,在我使用CI
编程的早期,我甚至没有使用MODEL
,但我的应用程序运行良好,但现在我遵循规则,显然有很好的理由遵循规则和原则(实心)。所以,你可以像现在这样做,没有人会强迫你。
发布于 2013-11-14 14:53:34
那没问题
您应该只从DB获得任何数据,并且只在模型中获得数据,这并不严格。
它们一般是分开的,只是为了我们的方便,但它并不像一条应该严格执行的规则。
您也可以在控制器中访问数据库。
https://stackoverflow.com/questions/19980787
复制相似问题