Slide 51
Slide 51 text
f nal class ShoppingCart extends AggregateRoot
{
public function construct(
private ShoppingSession $shoppingSession,
private BasketId $basketId,
private array $products = []
) {
$this record(
new ShoppingSessionStarted($basketId, [
'shoppingSession' (string)$shoppingSession,
])
);
}
public function addProduct(
ProductId $productId,
int $quantity = 1
): void {
$this record(
new ProductAdded($basketId, [
'productId' (string)$productId,
'quantity' $quantity,
])
);
}
}