Ist es sinnvoll, komplexe Daten wie einen Warenkorb mit Objekten oder einfachen Sessions umzusetzen?

Es ist sinnvoll, komplexe Daten wie einen Warenkorb mit Objekten umzusetzen, da dies eine strukturierte und skalierbare Möglichkeit bietet, um verschiedene Informationen zu speichern und zu verwalten. Objekte ermöglichen es, Daten und zugehörige Methoden zu kapseln, was die Wartung und Erweiterung des Codes erleichtert. Sessions können auch verwendet werden, um temporäre Daten zu speichern, aber für komplexe Datenstrukturen sind Objekte oft die bessere Wahl.

// Beispiel für die Implementierung eines Warenkorbs mit Objekten

class Product {
    public $name;
    public $price;

    public function __construct($name, $price) {
        $this->name = $name;
        $this->price = $price;
    }
}

class ShoppingCart {
    public $items = [];

    public function addItem($product, $quantity) {
        $this->items[] = ['product' => $product, 'quantity' => $quantity];
    }

    public function getTotalPrice() {
        $total = 0;
        foreach ($this->items as $item) {
            $total += $item['product']->price * $item['quantity'];
        }
        return $total;
    }
}

// Beispiel für die Verwendung des Warenkorbs

$product1 = new Product('Product 1', 10);
$product2 = new Product('Product 2', 20);

$cart = new ShoppingCart();
$cart->addItem($product1, 2);
$cart->addItem($product2, 1);

echo 'Total Price: $' . $cart->getTotalPrice();