Slide 43
Slide 43 text
class Cart
{
private function dispatch($name, array $payload = [])
{
return $this->dispatcher->dispatch(
'cart.' . $name,
new GenericEvent($this->cart, $payload);
);
}
public function addItem(Item $item)
{
$this->dispatch('addItemStarted', compact('item'));
$this->cart->add($item);
$this->dispatch('itemAdded', compact('item'));
$this->cart->save();
}
}
Almost back to the original simple addItem.