Web アプリ入門 / ch02 — `php -S` 組み込みサーバー / ブラウザで動作確認 / 演習 01

📝 ドリル 01 — リクエスト URI で応答を分ける

問題

リクエストされた URI に応じて応答を分ける PHP を書いてください。

  • $_SERVER['REQUEST_URI']"/hello" のとき → "Hello, Web!" を 1 行出力
  • それ以外のとき → "404" を 1 行出力

採点ランナーは CLI 直実行なので、標準入力の 1 行目$_SERVER['REQUEST_URI'] に代入してから処理してください (スタブはコードに含めて構いません)。

このドリルの入力例:

/hello

期待される出力:

Hello, Web!

採点

php scripts/grade.php topics/12-web/ch02-builtin-server/drill/01-respond-text/

ヒント

$_SERVER['REQUEST_URI'] = trim(fgets(STDIN) ?: '');
if ($_SERVER['REQUEST_URI'] === '/hello') { ... } else { ... }
▶ 3v4l で実行

本物の Web で確認したい場合

cd topics/12-web/ch02-builtin-server/drill/01-respond-text/
php -S localhost:8000 answer.php

ブラウザで http://localhost:8000/hello / http://localhost:8000/other を開く。

テストケース

標準入力

/hello

期待される出力

Hello, Web!

📄 starter.php(雛形)

このコードから書き始めてください。

<?php

// 採点用スタブ: 標準入力の 1 行を $_SERVER['REQUEST_URI'] に入れる
$_SERVER['REQUEST_URI'] = trim(fgets(STDIN) ?: '');

// TODO: $_SERVER['REQUEST_URI'] が '/hello' なら "Hello, Web!" を出力
// TODO: それ以外なら "404" を出力
✅ 解答例を見る(自分で解いてから)
<?php

// 採点用スタブ: 標準入力の 1 行を $_SERVER['REQUEST_URI'] に入れる
$_SERVER['REQUEST_URI'] = trim(fgets(STDIN) ?: '');

if ($_SERVER['REQUEST_URI'] === '/hello') {
    echo "Hello, Web!\n";
} else {
    echo "404\n";
}