/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
scripts/oop-practice-sources/php/shop-cart.php
55 строк
1 KB
Spirzen
OOP
09 июн 2026, 20:58
09 июн 2026, 20:58
1dca232
Код
Авторство
О чём код?
<?php class Product { public function __construct( public string $name, public int $price ) {} } class Cart { /** @var list<Product> */ public array $items = []; public function add(Product $product): void { $this->items[] = $product; echo "В корзину добавлено: {$product->name} ({$product->price} ₽)\n"; } public function total(): int { return array_sum(array_map(fn(Product $p) => $p->price, $this->items)); } } class Order { /** @var list<Product> */ public array $items; public int $total; public function __construct(Cart $cart) { $this->items = $cart->items; $this->total = $cart->total(); } public function checkout(): void { echo "Оформление заказа...\n"; foreach ($this->items as $item) { echo " — {$item->name}: {$item->price} ₽\n"; } echo "Итого: {$this->total} ₽\n"; echo "Заказ оформлен!\n"; } } $cart = new Cart(); $cart->add(new Product('Книга', 500)); $cart->add(new Product('Ручка', 50)); $order = new Order($cart); $order->checkout();