Есть класс Box. У класса есть поля price и delivery_price.
Оба эти параметра устанавливают из значений другой модели Price.
Когда я хочу добавить цены к создаваемому Box, то я делаю так:
Код: Выделить всё
$box = new Box($params);
// $box->price === 0;
// тут сетятся price и delivery_price
$servicePrice->addPrice($box);
// $box->price === 199.99;
.............................
// servicePrice
public function addPrice(Box $box)
{
try{
// в прайсе BoxPrice()
$price = $this->getPrice();
// ожидает модель с интефейсов IBoxPrice
$this->setPrice($price);
} catch (Exception $e) {
throw new PriceException('some text');
}
}
Правильно ли то что данный метод ничего не возвращает или лучше перезаписывать переменную что бы явно указать что она меняется.
То есть
Код: Выделить всё
$box = $servicePrice->addPrice($box);