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