<!DOCTYPE html>
<meta charset="utf-8">
<?php
require_once 'User.php';
session_start();
$user = isset($_SESSION['user']) ? $_SESSION['user'] : null;
if (is_null($user)) {
//オブジェクトの内部状態によって振る舞いを変えるクラス
$user = new User('taro');
}
$mode = isset($_GET['mode']) ? $_GET['mode'] : '';
switch ($mode) {
case 'state':
echo '状態を遷移します。<br />';
$user->switchState();
break;
case 'count':
echo 'カウントアップします。<br />';
$user->incrementCount();
break;
case 'reset':
echo 'カウントをリセットします。<br />';
$user->resetCount();
break;
default:
break;
}
$_SESSION['user'] = $user;
echo 'ようこそ、' . $user->getUserId() . 'さん<br />';
echo '現在ログインして' . ($user->isAuthenticated() ? 'います' : 'いません') . '<br />';
echo '現在のカウント:' . $user->getCount() . '<br />';
echo $user->getMenu() . '<br />';