CakePHP拥有大型,快速增长的模型

时间:2013-05-13 11:54:01

标签: php cakephp

在使用CakePHP开发的小团队中度过了9个月后,我们开始看到越来越多的模型变成3000,4000甚至5000行。 它不是重复它的代码,只是我们添加了很多功能,只需要这么多代码。

我知道与许多大型应用程序相比,这些文件可能不会被认为是非常大的,我们肯定会通过使用私有函数来减少可用的调用量,但是如果我们想要开始破坏其中一些文件为了提高可管理性,是否应该遵循任何特定的技术?

没有任何db表的模型是否违反约定? 是否有更适合放置大块代码的地方?

提前感谢您的建议

3 个答案:

答案 0 :(得分:4)

如果不知道代码,就无法正确回答。检查您的代码,重复相同的工作流程吗?你可以抽象它并使它成为一种行为吗?

拥有10k线模型没有任何问题,只要那里的代码确实属于模型。经验法则:如果它操纵某些东西,它会进入模型。

但我不建议使用很多私有方法,他们只是进行测试(如果你进行单元测试 - 你应该这样做)更难,请参阅http://sebastian-bergmann.de/archives/881-Testing-Your-Privates.html。你使用它们的方式是错误的恕我直言,可见范围不被认为限制公共可调用方法的数量,但想到避免人们扩展你的代码的关键部分,例如。实际上应该没有太多的私人方法,那些私人方法应该是非常好的理由。

答案 1 :(得分:0)

您可以尝试查看所有内容并评估其相关性以及该功能是否特定于该模型,还是可以由多个模型使用。如果您在对数据进行大量处理以获得合适的格式(例如字符串格式化,日期格式化)之后再将其传递回控制器,则可以将一些处理放入存储通用函数的辅助文件中。

答案 2 :(得分:0)

我会质疑你的模型是实际建模业务对象还是只是一些功能或过程。

对于许多控制器中可用的可重用代码块,我倾向于创建components来封装业务逻辑的那一部分。

如果这无法帮助打破5000行庞然大物,那么我建议将其推入插件中。