ch06 — 簡易ルーター (REQUEST_METHOD + REQUEST_URI 分岐)
スライドで見るこの章を AI と学ぶ
💬 AI に聞く質問例 3 件
-
「ch06 — 簡易ルーター (REQUEST_METHOD + REQUEST_URI 分岐)」のつまずきやすいポイントを、初学者向けに3つ教えてください
-
「ch06 — 簡易ルーター (REQUEST_METHOD + REQUEST_URI 分岐)」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)
-
「ch06 — 簡易ルーター (REQUEST_METHOD + REQUEST_URI 分岐)」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください
演習問題の詳細
この章の演習問題の内容を読めます。実際に手元で解くには教材リポジトリを clone してください。
ドリル 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
ヒント
$_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";
}🧪 ブラウザで試す
スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。
ドリル 02 — URI で分岐するルーター
問題
$_SERVER['REQUEST_URI'] を見て、次の通り応答する PHP を書いてください。
/users→"users一覧"を 1 行出力/posts→"posts一覧"を 1 行出力- それ以外 →
"404"を 1 行出力
採点ランナーは CLI 直実行なので、冒頭で stdin の 1 行 を $_SERVER['REQUEST_URI'] に代入してください。
このドリルの入力例:
/users
期待される出力:
users一覧
ヒント
$_SERVER['REQUEST_URI'] = trim(fgets(STDIN) ?: '');
echo match ($_SERVER['REQUEST_URI']) {
'/users' => "users一覧\n",
'/posts' => "posts一覧\n",
default => "404\n",
};🧪 ブラウザで試す
スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。
ドリル 03 — method + URI の組で分岐 (REST 風)
問題
$_SERVER['REQUEST_METHOD'] と $_SERVER['REQUEST_URI'] の組み合わせで、次の通り応答する PHP を書いてください。
GET /users→"一覧表示"を 1 行出力POST /users→"新規登録"を 1 行出力- それ以外 →
"404"を 1 行出力
採点ランナーは CLI 直実行なので、冒頭で stdin の 1 行目を method、2 行目を URI として $_SERVER に代入してください。
このドリルの入力例:
POST
/users
期待される出力:
新規登録
ヒント
$_SERVER['REQUEST_METHOD'] = trim(fgets(STDIN) ?: '');
$_SERVER['REQUEST_URI'] = trim(fgets(STDIN) ?: '');
$key = $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'];
echo match ($key) {
'GET /users' => "一覧表示\n",
'POST /users' => "新規登録\n",
default => "404\n",
};「METHOD URI という文字列にまとめて 1 つの match で捌く」が小ぶりなアプリのお決まりパターン。
🧪 ブラウザで試す
スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。
演習問題(3問)
サイト内で問題文・雛形・解答例を確認できます。実際に手元で解くには教材リポジトリを clone してください。
完了にすると進捗に反映されます