Php 在CodeIgniter系统中,我的模型规则在哪里?
我使用codeIgniter作为我的框架来构建一个非常大的网站。一切都很好。我使用模型从数据库获取/发送数据。但最近有一个问题让我感到困惑。在从整个页面的循环中获取数据时,我不使用模型 例如,对于右侧边栏,我使用循环来获取类别列表。现在,这个循环基于一个数组,这个数组是从数据库检索到的一组数据。从数据库检索的数据在控制器中处理。这是正确的吗?或者我绝对应该只从数据库获取数据,并且只在模型中获取数据?因为我只在注册/登录/时事通讯/订单等方面使用模型 下面是我的一个控制器,它也负责获取数据库数据:Php 在CodeIgniter系统中,我的模型规则在哪里?,php,codeigniter,database-abstraction,Php,Codeigniter,Database Abstraction,我使用codeIgniter作为我的框架来构建一个非常大的网站。一切都很好。我使用模型从数据库获取/发送数据。但最近有一个问题让我感到困惑。在从整个页面的循环中获取数据时,我不使用模型 例如,对于右侧边栏,我使用循环来获取类别列表。现在,这个循环基于一个数组,这个数组是从数据库检索到的一组数据。从数据库检索的数据在控制器中处理。这是正确的吗?或者我绝对应该只从数据库获取数据,并且只在模型中获取数据?因为我只在注册/登录/时事通讯/订单等方面使用模型 下面是我的一个控制器,它也负责获取数据库数据:
$this->niazer->
是一个负责获取数据库数据的库(专门为我当前的项目制作)
没问题
没有什么严格的要求,您绝对应该只从DB获取任何数据,并且只从模型中获取数据
它们通常只是为了我们的方便而分开,但这并不像是一个应该严格执行的规则
您还可以访问控制器中的DB,这没有问题
没有什么严格的要求,您绝对应该只从DB获取任何数据,并且只从模型中获取数据
它们通常只是为了我们的方便而分开,但这并不像是一个应该严格执行的规则
您还可以访问控制器中的DB如果是关于良好实践和原则,那么您做得不对,IMO
该模型为控制器提供了数据表示形式
用户请求(消息、书籍列表、相册等)。这
数据模型将是相同的,无论您希望如何表示它
对于用户来说,这就是为什么可以选择任何可用视图进行渲染
信息技术模型包含应用程序中最重要的部分
逻辑,适用于你正在处理的问题的逻辑(a)
论坛、商店、银行等)
控制器包含一个更内部的组织逻辑
应用程序本身(更像是内务管理)
我不能在这里写这些东西,但我认为它涵盖了你正在寻找的东西
老实说,在我使用CI
编程的早期,我甚至没有使用模型
,但我的应用程序运行良好,但现在我遵循规则,显然有很好的理由遵循规则和原则()。所以,你可以像现在这样做,没有人会强迫你。如果这是关于良好的实践和原则,那么你就做错了,依我看
该模型为控制器提供了数据表示形式
用户请求(消息、书籍列表、相册等)。这
数据模型将是相同的,无论您希望如何表示它
对于用户来说,这就是为什么可以选择任何可用视图进行渲染
信息技术模型包含应用程序中最重要的部分
逻辑,适用于你正在处理的问题的逻辑(a)
论坛、商店、银行等)
控制器包含一个更内部的组织逻辑
应用程序本身(更像是内务管理)
我不能在这里写这些东西,但我认为它涵盖了你正在寻找的东西
老实说,在我使用CI
编程的早期,我甚至没有使用模型
,但我的应用程序运行良好,但现在我遵循规则,显然有很好的理由遵循规则和原则()。所以,你可以像现在这样做,没有人会强迫你。niazer是你的模型,不好的做法是直接在控制器中执行例如get_ads()
和get_news()
所做的操作,但你的模型不是okniazer,不好的做法是执行例如get_ads()所做的操作
和get_news()
直接在控制器中执行,但您的操作不正确,这当然是正确的。我很清楚,需要一个有经验的人来回答。因为与任何理论一样,MVC的理想实现是完全理解的。我甚至可以从视图中访问DB,但这使得它相当非MVC。你越接近MVC,你的项目就越方便。说得好@MostafaTalebi:-)你当然是对的。我很清楚,需要一个有经验的人来回答。因为与任何理论一样,MVC的理想实现是完全理解的。我甚至可以从视图中访问DB,但这使得它相当非MVC。你越接近MVC,你的项目就越方便
<?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);
}
}