推进 - 实现方法的最佳实践 - 我应该将方法保存在方法内部或外部

时间:2010-10-01 09:52:28

标签: oop propel

我使用的是Propel,一个PHP ORM。

我真的很喜欢。 我喜欢能够编写这段代码:

$offer->setTitle('20% off everything')->save();

但是,如果我想创建一个increaseImpressions方法呢?。

你会这样使用它吗?

$offer->increaseImpressions()

或者像这样:

$offer->increaseImpressions()->save()

换句话说,您是否会将对象保存在increaseImpressions方法的内部或外部? 你能告诉我为什么吗?

我想这是一个关于OOP的问题。

谢谢, 丹

2 个答案:

答案 0 :(得分:1)

我建议第二个例子:

$offer->increaseImpressions()->save()

基本上,increaseImpressions方法只是另一个setter。在increaseImpressions方法之外调用save会使其与其他setter方法保持一致。

答案 1 :(得分:0)

对于像记录展示一样重要的东西,使操作成为原子并将保存放在方法中可能是有意义的。您是否与您尊重的任何开发人员合作?您可以提出建议吗?