跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

php怎样实现模板渲染_php实现模板渲染简单逻辑【模板】

PHP原生模板渲染可用include+extract实现,配合ob_start()捕获输出,需手动htmlspecialchars转义防XSS,推荐绝对路径引用模板并避免过早抽象。 直接用
include
+
extract()
就能实现最简模板渲染 PHP 原生没有内置模板引擎,但靠语言特性可以几行代码搭出可用的模板逻辑。核心是:把数据数组导入 作用域 ,再
include
一个纯 HTML/PHP 混写文件。不依赖 Composer、不引入第三方库,适合小项目或快速原型。 常见错误是直接
echo
拼接 HTML —— 难维护、易 XSS、无变量隔离;或者误用
eval()
执行模板字符串 —— 安全风险极高,绝对禁止。
extract($data, EXTR_SKIP)
把数组键转为变量,
EXTR_SKIP
防止覆盖已有变量(比如
$data
自身) 模板文件(如
user.tpl.php
)里直接写

,注意手动转义 模板中不能访问函数作用域外的变量(除非全局声明),
extract()
只影响当前作用域 为什么不用
ob_start()
+
include
?它其实更稳妥 单纯
include
会立刻输出内容,无法捕获、修改或缓存。真实场景中你往往需要「先渲染、再处理」—— 比如加 HTTP 头、套 layout、做 SEO 替换。这时必须用输出缓冲。
function render($template, $data = []) { extract($data, EXTR_SKIP); ob_start(); include $template; return ob_get_clean(); }

// 使用 $html = render('post.tpl.php', ['title' => 'Hello', 'content' => '