topic: web (HTTP / $_GET / $_POST / form / php -S) / ch02
ch02 — `php -S` 組み込みサーバー / ブラウザで動作確認
学習目標
php -S localhost:8000で PHP 組み込みの Web サーバー を立てられる- ブラウザで
http://localhost:8000/...を開いて自作 PHP を表示できる - リクエストの パス (
$_SERVER['REQUEST_URI']) で応答を分けられる
所要時間
スライド 5 分 + ドリル 1 問 = 15 分
ドリル
| no | 内容 |
|---|---|
| 01 | リクエストパスが /hello なら "Hello, Web!"、それ以外なら "404" を出力 |
本物の動作確認 (任意・推奨)
実際にブラウザでも動かしてみたい場合:
# ドリルの answer.php がある場所に行く
cd topics/12-web/ch02-builtin-server/drill/01-respond-text/
# 組み込みサーバー起動 (Ctrl+C で停止)
php -S localhost:8000 answer.php
ブラウザで以下を開いて挙動を確認:
http://localhost:8000/hello→Hello, Web!http://localhost:8000/nope→404
採点ランナーは CLI 直実行なので、answer.php の冒頭で stdin から $_SERVER['REQUEST_URI'] を組み立てるスタブ が入っている。Web で動かすときは「stdin が無いので $_SERVER['REQUEST_URI'] を上書きしない」分岐になっていて、本物のリクエスト由来の $_SERVER['REQUEST_URI'] がそのまま使われる。「Web で動かす分にはスタブを消して良い」 という前提のおまじないとして理解する。
演習問題(1問)
サイト内で問題文・雛形・解答例を確認できます。実際に手元で解くには教材リポジトリ(nomuraya-dojo/php)を clone してください。