【发布时间】:2017-03-21 21:20:17
【问题描述】:
在 Laravel / PHP 中,很容易创建访问器和修改器来从数据库转换或创建动态字段。
虽然在整个应用中复制相同的逻辑太容易了,但当您不通过 ORM 模型访问相同的数据时(例如直接查询)。
$order->totalPlusTax; // (total * 10%)
计算此字段的逻辑应编写一次,可测试且不绑定到 ORM。
围绕这个逻辑的最佳实践或设计模式是什么?
【问题讨论】:
-
创建一个辅助函数并将
(total, percent)作为参数传递并在你想要的地方调用函数。 -
当然是显而易见的解决方案。尽管在大型应用程序中,辅助函数也变得难以管理。我正在寻找的答案是更多基于社区商定原则的“设计模式”。
-
你的问题真的不清楚。我不明白你在找什么。如果您想知道如何停止重复逻辑,那么重构和良好的类设计就是答案。
-
通过对社区认可的设计模式的详细分析来寻找答案。例如工厂、存储库、单例...
标签: php laravel testing design-patterns phpunit