routes.php 1.3 KB

12345678910111213141516171819202122232425
  1. <?php
  2. declare(strict_types=1);
  3. use Glacier\Controllers\FormController;
  4. use Glacier\Controllers\HomeController;
  5. /**
  6. * URL 模式路由表(集中声明,URL 的唯一解释者)。
  7. * 每条:method / pattern / handler / middleware。
  8. *
  9. * pattern 语法:静态段 /about、参数段 /user/:id、可选段 /news[/:page]。
  10. * middleware:csrf(写方法校验 Token)、auth / permission(P5 空实现预留)。
  11. * 说明:/demo 两条为 P1 验证路由引擎用,后续随模块规划移除。
  12. */
  13. return [
  14. ['method' => 'GET', 'pattern' => '/', 'handler' => [HomeController::class, 'index']],
  15. ['method' => 'GET', 'pattern' => '/demo/:name', 'handler' => [HomeController::class, 'demo']],
  16. ['method' => 'GET', 'pattern' => '/demo-page[/:page]', 'handler' => [HomeController::class, 'demoPage']],
  17. // CSRF 演示:GET 显示表单 / POST 经 csrf 中间件校验
  18. ['method' => 'GET', 'pattern' => '/form', 'handler' => [FormController::class, 'show']],
  19. ['method' => 'POST', 'pattern' => '/form', 'handler' => [FormController::class, 'submit'], 'middleware' => ['csrf']],
  20. // 认证中间件挂载演示(空实现,P7 接入登录)
  21. ['method' => 'GET', 'pattern' => '/protected', 'handler' => [HomeController::class, 'protectedPage'], 'middleware' => ['auth']],
  22. ];