基本架构

  • PHP
  • Apache

设计思想

  1. 模板代码 / 生成器逻辑分离。为了降低前端开发者上手门槛,约定的模板格式应尽可能地接近 HTML 语法。
  2. 发起请求时,访问 controller 类文件,controller 类进行相关数据请求并填充到对应模板,生成一个完整的 HTML 文件并返回。
  3. 路由的策略由 .htaccess 控制。

说明

如设计思想所述,页面生成器的行为很纯粹,将数据填充到模板,并返回。任意一门语言均可,本工程以 PHP 为例。

模板

  1. 模板的作用有两个:进行代码结构组织以便开发,配合静态缓存文件的生成。模板引擎的原理
  2. 在项目中由于缓存服务器的存在,这里应禁用模板的缓存功能,以免刷新刷新数据时碰到不必要的麻烦。
  3. 因此,在本项目中模板仅有组织代码之用。
  4. 实际上,PHP 本身就可作为模板引擎,对开发者而言它的语法比其他各类模板引擎更容易被理解和接受,遗憾的是,例如显示一个简单变量,<?php echo $xxx; ?> 相比于 {$xxx} 的调用显得无比丑陋。
  5. 为了兼顾两者,可自行实现一个简单的模板引擎。

访问流程

请求 → controller → 读取模板文件({$xxx}语法) → 生成可执行的 PHP 文件(<?php echo $xxx; ?>语法) → 执行 PHP 文件并回显