php - 一般规则 - 何时使用模型 (Codeigniter)

标签 php model-view-controller codeigniter model

我只是好奇模型的经验法则是什么。通常,我只在需要为对象添加/编辑或更新数据库条目的情况下使用它们。

但是,我目前正在构建一个应用程序,它有一个“配置”表,其中包含各种数据,例如上次更新,这将控制应用程序中某些功能的显示时间。在这种情况下,我主要需要从配置表中检索数据。将这些配置方法放在模型中是否值得?

我很想知道更有经验的编码人员如何在 CI 中使用 MVC 方法 - 示例伪方法(例如,与您在模型和 Controller 中使用的同一对象相关的方法)将是最有帮助的。

最佳答案

"Is it worth putting these config methods in model?"

是的,绝对可以,如果只是为了防止您在处理您的配置设置表的每个 Controller 中编写相同的 getter 和 setter。一次编写您的 getter 和 setter(最好在 MY_Model 中以通用方式编写)并在模型中编写一次复杂查询,然后根据需要在尽可能多的库、 Controller 或 View 中调用它们。

通过使用模型,您可以针对接口(interface)而不是实现进行编码。

这意味着从 Controller 中抽象模型有一个好处,因为您的 Controller 可以不知道数据的存储方式。只要模型方法始终以 Controller 期望的格式提供结果,您就可以决定将数据从数据库切换到 xml 文件再到 ini 文件。简而言之,当您切换数据源时,您只需要更新模型的内部方法而不是 Controller 。

最后,我相信 MVC 的规则允许 View 直接从模型请求数据。为此,您可以构建 CodeIgniter 帮助程序,以在使用模型检索配置设置的 View 中使用,其工作方式与 native config_item() 通用函数的工作方式大致相同。

关于php - 一般规则 - 何时使用模型 (Codeigniter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2672113/

相关文章:

php - 使用 Tinker 和 Laravel 进行编码

iphone - 需要帮助来理解以编程方式创建的 UIView 和 UIViewController

javascript - 无法在codeIgniter PHP中接收ajax请求

php - codeigniter使用外部变量插入到mysql

php - 如何使用PHP CURL绕过跨域

php - 为什么我得到空结果?

model-view-controller - Ninject 3.0 MVC 内核扫描不起作用

php - CodeIgniter OAuth 2 服务器/提供商

php - 试图在另一个 while 循环中得到一个 while 循环,但它不能一起工作

asp.net-mvc - 是否可以在 mvc 中将 Controller 名称映射到另一个名称