我使用的是Propel,一个PHP ORM。
我真的很喜欢。 我喜欢能够编写这段代码:
$offer->setTitle('20% off everything')->save();
但是,如果我想创建一个increaseImpressions方法呢?。
你会这样使用它吗?
$offer->increaseImpressions()
或者像这样:
$offer->increaseImpressions()->save()
换句话说,您是否会将对象保存在increaseImpressions方法的内部或外部? 你能告诉我为什么吗?
我想这是一个关于OOP的问题。
谢谢, 丹
答案 0 :(得分:1)
我建议第二个例子:
$offer->increaseImpressions()->save()
基本上,increaseImpressions方法只是另一个setter。在increaseImpressions方法之外调用save会使其与其他setter方法保持一致。
答案 1 :(得分:0)
对于像记录展示一样重要的东西,使操作成为原子并将保存放在方法中可能是有意义的。您是否与您尊重的任何开发人员合作?您可以提出建议吗?