Web アプリ入門 / ch06 — 簡易ルーター (REQUEST_METHOD + REQUEST_URI 分岐) / 演習 01
📝 ドリル 01 — `GET /` のみ受け付けるミニルーター
問題
$_SERVER['REQUEST_METHOD'] と $_SERVER['REQUEST_URI'] を見て、次の通り応答する PHP を書いてください。
- method が
GETかつ URI が/のとき →"home"を 1 行出力 - それ以外 →
"404"を 1 行出力
採点ランナーは CLI 直実行なので、冒頭で stdin の 1 行目を method、2 行目を URI として $_SERVER に代入してください。
このドリルの入力例:
GET
/
期待される出力:
home
採点
php scripts/grade.php topics/12-web/ch06-routing-basic/drill/01-method-router/
ヒント
$_SERVER['REQUEST_METHOD'] = trim(fgets(STDIN) ?: '');
$_SERVER['REQUEST_URI'] = trim(fgets(STDIN) ?: '');
if ($_SERVER['REQUEST_METHOD'] === 'GET' && $_SERVER['REQUEST_URI'] === '/') {
echo "home\n";
} else {
echo "404\n";
}テストケース
標準入力
GET
/
期待される出力
home
📄 starter.php(雛形)
このコードから書き始めてください。
<?php
// 採点用スタブ: 標準入力の 1 行目を method、2 行目を URI として読み込む
$_SERVER['REQUEST_METHOD'] = trim(fgets(STDIN) ?: '');
$_SERVER['REQUEST_URI'] = trim(fgets(STDIN) ?: '');
// TODO: method=GET かつ URI=/ なら "home"、それ以外なら "404" を 1 行出力
✅ 解答例を見る(自分で解いてから)
<?php
// 採点用スタブ: 標準入力の 1 行目を method、2 行目を URI として読み込む
$_SERVER['REQUEST_METHOD'] = trim(fgets(STDIN) ?: '');
$_SERVER['REQUEST_URI'] = trim(fgets(STDIN) ?: '');
if ($_SERVER['REQUEST_METHOD'] === 'GET' && $_SERVER['REQUEST_URI'] === '/') {
echo "home\n";
} else {
echo "404\n";
}