You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
examples/003-MiniWebApp/public/index.php uses ?route=home query dispatch for the skeleton phase. Production-style front controllers use PATH_INFO after index.php (e.g. /index.php/hello?name=Dev), which lib/Web/DevServer.php already populates (#276 ✅) and ServeTest covers.
#210 route table still documents path-style URLs (/hello, /contact) while the shipped tree uses $_GET['route']. Contributors cannot validate realistic URLs until migration lands.
Goal
After #67 VM serve is green with ?route=, migrate routing to PATH_INFO (keep ?route= as deprecated fallback optional v1):
Method
URL
Behavior
GET
/index.php or /
Home
GET
/index.php/hello?name=
Greet
POST
/index.php/contact
Form thank-you
GET
/index.php/api/status
JSON
Implementation hints
public/index.php: derive $route from $_SERVER['PATH_INFO'] (trim /, default home); fallback to $_GET['route'] during transition.
src/Router.php: normalize route keys (hello, contact, api/status) — same switch as today.
Problem
examples/003-MiniWebApp/public/index.phpuses?route=homequery dispatch for the skeleton phase. Production-style front controllers usePATH_INFOafterindex.php(e.g./index.php/hello?name=Dev), whichlib/Web/DevServer.phpalready populates (#276 ✅) andServeTestcovers.#210 route table still documents path-style URLs (
/hello,/contact) while the shipped tree uses$_GET['route']. Contributors cannot validate realistic URLs until migration lands.Goal
After #67 VM serve is green with
?route=, migrate routing to PATH_INFO (keep?route=as deprecated fallback optional v1):/index.phpor//index.php/hello?name=/index.php/contact/index.php/api/statusImplementation hints
public/index.php: derive$routefrom$_SERVER['PATH_INFO'](trim/, defaulthome); fallback to$_GET['route']during transition.src/Router.php: normalize route keys (hello,contact,api/status) — sameswitchas today.examples/003-MiniWebApp/README.md: curl recipes for PATH_INFO + note Web: Extend script/examples-web-smoke.sh for 003-MiniWebApp routes #461 / Testing: ServeTest MiniWebApp routes via phpc serve (skipped until #67) #470 needles.Acceptance criteria
Bodies match Zend PHP 8 on the same tree.
Verification (local / Docker only)
No GitHub Actions required.
Dependencies
Links
lib/Web/DevServer.php,examples/003-MiniWebApp/public/index.php