PHP 7.4 通过 include/require 嵌入 HTML 模板实现服务端渲染,并手动解析 $_SERVER['REQUEST_URI'] 或用路由库提取参数,结合转义、类型转换与校验保障安全,前后端各司其职。

用 include/require 嵌入 HTML 模板
这是最直接、语义清晰的方式,适合静态结构+动态内容的组合场景:
- 把侧边栏、头部、底部等复用模块单独存为
sidebar.php、header.php等文件,用标准 HTML + 内联 PHP 写法 - 在主页面(如
index.php)中用include 'sidebar.php';插入,PHP 会在执行时读取并渲染该文件内容 - 模板内可安全使用
htmlspecialchars($var)转义变量,避免 XSS;支持if判断、foreach循环等逻辑 - 注意:被包含的文件必须以
.php结尾,且运行在支持 PHP 的 Web 服务器(如 Apache/Nginx+PHP-FPM)环境中
从 URL 中提取并使用路由参数
PHP 7.4 没有内置路由系统,但可通过 $_SERVER['REQUEST_URI'] 手动解析,或借助轻量路由库(如 FastRoute)实现结构化匹配:
- 简单场景:用
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)获取干净路径,再用explode('/', $path)拆分段落,例如/user/123→ 取出123作为 ID - 推荐方式:注册路由规则,如
$routes = ['/user/{id}' => 'showUser'];,再用正则匹配并提取{id}对应值,传给回调函数 - 参数值默认是字符串,需手动类型转换(如
(int)$id),并做存在性校验(isset($id) && is_numeric($id)) - 不要直接拼接进 SQL 或 HTML 输出,始终先过滤、转义或预处理
前后端职责要分清
PHP 7.4 的任务是生成首屏 HTML、注入初始数据、完成服务端渲染;交互和局部更新交给前端 JS 处理:
- 侧边栏高亮当前菜单项,应在 PHP 渲染时就写好
class="active",而不是等 JS 运行后加 - 如果需要根据路由参数动态加载内容(如用户资料),PHP 可在页面中预留容器(如
<div id="user-data"></div>),再由 fetch 请求/api/user?id=123获取 JSON 并填充 - 表单提交仍可用
action="/user/update"直接 POST 给 PHP 处理页,此时参数走$_POST,无需手动解析 URL



















