Propel - 实现方法的最佳实践 - 我应该将对象保存在方法内部还是方法外部
我正在使用 Propel,一个 PHP ORM。
我真的很喜欢它。 我喜欢能够编写这段代码:
$offer->setTitle('20% off everything')->save();
但是如果我想创建一个increaseImpressions 方法怎么办?
你会像这样使用它:
$offer->increaseImpressions()
还是像这样:
$offer->increaseImpressions()->save()
?
换句话说,您会将对象保存在increaseImpressions 方法内部还是外部? 您还可以告诉我为什么吗?
我想这是一个关于OOP的问题。
谢谢, 担
I am using Propel, a PHP ORM.
I really like it.
I love to be able to write this code:
$offer->setTitle('20% off everything')->save();
But what about if I want to create a increaseImpressions method?.
Would you use it like this:
$offer->increaseImpressions()
or like this:
$offer->increaseImpressions()->save()
?
In other words, would you save the object inside or outside the increaseImpressions method?
Can you also please tell me why?
I guess this is a question about OOP.
Thanks,
Dan
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我建议使用第二个示例:
本质上,increaseImpressions 方法只是另一个设置器。在increaseImpressions 方法外部调用save 可使其与其余setter 方法保持一致。
I would suggest the the second example:
Essentially, the increaseImpressions method is just another setter. Calling save outside the increaseImpressions method keeps it consistent with the rest of the setter methods.
对于像记录印象这样重要的事情,使操作原子化并将保存放在方法中可能是有意义的。您是否与您尊敬的开发人员合作,您可以向他们寻求建议?
For something as important as logging impressions it might make sense to make the operation atomic and put the save inside the method. Do you work with any developers you respect whose advice you could ask?