Изменение параметров объекта через класс и возвращаемый параметр.

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
Chelobaka
Сообщения: 202
Зарегистрирован: 2018.06.01, 09:54

Изменение параметров объекта через класс и возвращаемый параметр.

Сообщение Chelobaka » 2019.10.06, 15:21

Здравствуйте,

Есть класс 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');
        }
    }
Метод addPrice ничего не возвращает. Просто грузит внутри модель прайс и сетит модель Box
Правильно ли то что данный метод ничего не возвращает или лучше перезаписывать переменную что бы явно указать что она меняется.
То есть

Код: Выделить всё

$box = $servicePrice->addPrice($box);


Ответить