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

问题描述 投票:0回答:2

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

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

我有兴趣了解更有经验的编码人员如何在 CI 中使用 MVC 方法。

示例伪方法(例如,与您在模型和控制器中使用的同一对象相关的哪些方法)将是最有帮助的。

php codeigniter model-view-controller design-patterns model
2个回答
7
投票

“值得将这些配置方法放入模型中吗?”

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

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

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

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


1
投票

将 M 与 V&C 分开的原因与将 CSS 与 HTML 分开的许多原因相同 - 抽象、易于重用以及更轻、更易读的代码。

另请注意,对于其他 MVC 平台,您别无选择。仅仅因为你可以忽略方法论(在 CI 中)并不意味着你应该这样做。

© www.soinside.com 2019 - 2024. All rights reserved.