Propel - 实现方法的最佳实践 - 我应该将对象保存在方法内部还是方法外部

发布于 2024-09-25 20:20:48 字数 461 浏览 0 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一梦浮鱼 2024-10-02 20:20:48

我建议使用第二个示例:

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

本质上,increaseImpressions 方法只是另一个设置器。在increaseImpressions 方法外部调用save 可使其与其余setter 方法保持一致。

I would suggest the the second example:

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

Essentially, the increaseImpressions method is just another setter. Calling save outside the increaseImpressions method keeps it consistent with the rest of the setter methods.

百善笑为先 2024-10-02 20:20:48

对于像记录印象这样重要的事情,使操作原子化并将保存放在方法中可能是有意义的。您是否与您尊敬的开发人员合作,您可以向他们寻求建议?

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?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文