我只是好奇模型的经验法则是什么。通常,我只在需要为对象添加/编辑或更新数据库条目的情况下使用它们。
但是,我目前正在构建一个应用程序,它有一个“配置”表,其中包含各种数据,例如上次更新,这将控制应用程序中某些功能的显示时间。在这种情况下,我主要需要从配置表中检索数据。将这些配置方法放在模型中是否值得?
我很想知道更有经验的编码人员如何在 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/