我最近开始在一个项目中使用Codeigniter(几个月前),但它与一些需要相互交互的模型有点失控,我想知道我是否应该创建一个库而不是?
在我的情况下,我有一个用户操作,当你赢得游戏时会发生,它会记录在我的user_model中,但我也希望它被放入我的events_model中?
这样影响多个模型的东西会成为一个库吗?
我知道它不应该在控制器中,因为我必须在多个控制器中重用这个触发器(对于提供的示例可能没有意义,但是对我的应用程序来说)。
答案 0 :(得分:21)
库旨在为您的应用程序提供可重用功能,而MVC架构中的模型代表数据逻辑或实际数据由您的应用程序使用。
因此,要回答您的问题,您可以实现一个处理多个模型更新的库。只需确保数据库插入之类的东西由模型本身处理,因为这比业务逻辑更多地是应用程序逻辑。
答案 1 :(得分:2)
您可以将模型按原样模块化并在库中编写逻辑,这样您就可以通过库中的单个函数访问多个模型,而无需通过加载多个模型和使用非接口定向逻辑来使控制器不整齐混合了界面逻辑。