HomeController.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. declare(strict_types=1);
  3. namespace Glacier\Controllers;
  4. use Glacier\Core\Logger;
  5. use Glacier\Core\Response;
  6. use Glacier\Core\View;
  7. /**
  8. * 首页控制器(本期"开发中"占位;后期公司新闻 + 功能导航)。
  9. * 脚本只产出数据,渲染交给 Twig 模板(见 docs/architecture.md §3.3)。
  10. */
  11. final class HomeController
  12. {
  13. public function index(array $params = []): never
  14. {
  15. Response::html(View::render('home/index.html.twig'));
  16. }
  17. /** 参数路由演示(P1 验证用,后续移除)。 */
  18. public function demo(array $params = []): never
  19. {
  20. Logger::info('demo route hit', ['name' => $params['name'] ?? '']);
  21. Response::html(View::render('home/demo.html.twig', [
  22. 'name' => $params['name'] ?? '',
  23. ]));
  24. }
  25. /** 可选段演示(P1 验证用,后续移除)。 */
  26. public function demoPage(array $params = []): never
  27. {
  28. Response::html(View::render('home/demo_page.html.twig', [
  29. 'page' => $params['page'] ?? '1',
  30. ]));
  31. }
  32. /** 受保护页(P5 验证 auth 中间件挂载;登录体系 P7 实现)。 */
  33. public function protectedPage(array $params = []): never
  34. {
  35. Response::html(View::render('home/protected.html.twig'));
  36. }
  37. }