Если вы можете иметь только один элемент с уникальным идентификатором в корзине - переписать метод addItem () следующим образом:
public function addItem($id) {
$result = false;
if (empty($this->item[$id])) {
$item = new Item();
$item->setItem($id);
$this->item[$id] = $item;
$result = $item;
}
return $result;
}
То же самое с методом addOption ():
public function addOption($id) {
if (empty($this->option[$id])) {
$option = new Option();
$option->setOption($id);
$this->option[$id] = $option;
}
else {
$this->option[$id]->setQuantity($this->option[$id]->getQuantity() + 1);
}
}
И, конечно, вы должны реализовать методы setQuantity () и getQuantity () в классе Option.Надеюсь, это поможет.