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

ch06 — 簡易ルーター (REQUEST_METHOD + REQUEST_URI 分岐)

学習目標

  • $_SERVER['REQUEST_METHOD']$_SERVER['REQUEST_URI'] を組み合わせて 「メソッド + URI」 で応答を分けられる
  • 1 つの PHP で複数の URL を捌ける (フロントコントローラ・パターンの最小版)
  • フレームワーク (Laravel など) のルーターが内部でやっていることをイメージできる

所要時間

スライド 5 分 + ドリル 3 問 = 25 分

ドリル

no 内容
01 1 行目に method、2 行目に URI を受け取り、GET / のみ "home" を出力、その他は "404"
02 URI で分岐: /users"users一覧" / /posts"posts一覧" / その他 → "404"
03 method + URI で分岐: GET /users"一覧表示" / POST /users"新規登録" / その他 → "404"

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

cd topics/12-web/ch06-routing-basic/drill/03-method-uri/
php -S localhost:8000 answer.php

ブラウザで http://localhost:8000/users (GET) を開く。POST は curl で:

curl -X POST http://localhost:8000/users

演習問題(3問)

  1. ドリル 01 — `GET /` のみ受け付けるミニルーター

    starter.php answer.php

  2. ドリル 02 — URI で分岐するルーター

    starter.php answer.php

  3. ドリル 03 — method + URI の組で分岐 (REST 風)

    starter.php answer.php

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