<!DOCTYPE html>
<meta charset="utf-8">
<?php
require_once 'Cart.php';
require_once 'PresentListener.php';
require_once 'LoggingListener.php';
session_start();
$cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : null;
if (is_null($cart)) {
$cart = new Cart();
//観察者である各Listenerクラスを追加する
$cart->addListener(new PresentListener());
$cart->addListener(new LoggingListener());
}
$item = isset($_POST['item']) ? $_POST['item'] : '';
$mode = isset($_POST['mode']) ? $_POST['mode'] : '';
switch ($mode) {
case 'add':
echo '追加しました。';
$cart->addItem($item);
break;
case 'remove':
echo '削除しました。';
$cart->removeItem($item);
break;
case 'clear':
echo 'クリアしました。';
$cart->removeItems();
break;
default:
break;
}
$_SESSION['cart'] = $cart;
echo '<p>商品は以下のとおりです。</p>';
echo '<ul>';
foreach ($cart->getitems() as $id => $quantity) {
echo '<li>' . $id . ' : ' . $quantity . '</li>';
}
echo '</ul>';
?>
<form action="index.php" method="post">
<select name="item">
<option value="10:Tシャツ">Tシャツ</option>
<option value="20:ぬいぐるみ">ぬいぐるみ</option>
<option value="30:クッキーセット">クッキーセット</option>
</select>
<input type="submit" name="mode" value="add" />
<input type="submit" name="mode" value="remove" />
<input type="submit" name="mode" value="clear" />
</form>