Propel - лучшая практика для реализации метода - я должен сохранить объект внутри или снаружи метода - PullRequest
1 голос
/ 01 октября 2010

Я использую Propel, PHP ORM.

Мне действительно это нравится.Мне нравится, когда я могу написать этот код:

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

А что если я захочу создать метод увеличенияImpressions?*

или как это:

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

?

Другими словами, вы бы сохранили объект внутри или вне метода увеличенияImpressions?Не могли бы вы также сказать мне, почему?

Наверное, это вопрос об ООП.

Спасибо, Дэн

Ответы [ 2 ]

1 голос
/ 02 октября 2010

Я бы предложил второй пример:

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

По сути, метод увеличенияImpressions - это просто еще один метод установки. Вызов save вне метода увеличенияImpressions поддерживает его соответствие остальным методам установки.

0 голосов
/ 04 октября 2010

Для чего-то столь же важного, как регистрация показов, возможно, имеет смысл сделать операцию атомарной и поместить сохранение в метод. Работаете ли вы с уважаемыми разработчиками, чей совет вы могли бы спросить?

...