topic: web (HTTP / $_GET / $_POST / form / php -S) / ch02

ch02 — `php -S` 組み込みサーバー / ブラウザで動作確認

学習目標

  • php -S localhost:8000PHP 組み込みの 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/helloHello, Web!
  • http://localhost:8000/nope404

採点ランナーは CLI 直実行なので、answer.php の冒頭で stdin から $_SERVER['REQUEST_URI'] を組み立てるスタブ が入っている。Web で動かすときは「stdin が無いので $_SERVER['REQUEST_URI'] を上書きしない」分岐になっていて、本物のリクエスト由来の $_SERVER['REQUEST_URI'] がそのまま使われる。「Web で動かす分にはスタブを消して良い」 という前提のおまじないとして理解する。

演習問題(1問)

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

    starter.php answer.php

サイト内で問題文・雛形・解答例を確認できます。実際に手元で解くには教材リポジトリ(nomuraya-dojo/php)を clone してください。