<!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 />';