【发布时间】:2015-07-06 18:31:43
【问题描述】:
我正在做一个项目,我将所有 HTML 内容与 PHP 代码的其余部分分开。需要为 PHP 变量解析任何 HTML 的每个实例都通过函数调用发送。其中大多数处理来自数据库的动态数据。
一个简单的模板文件示例:
<div id='{$data['id']}'>{$data['text']}</div>
$data 数组中的变量通过函数调用传递,其中 HTML sn-p 需要添加到输出缓冲区:
$output .= $html->load_template('template_id', array('id' => 123, 'text' => 'Testing'));
html::load_template() 函数只是定位正确的文本文件,并且应该加载变量并将字符串作为 HTML 返回。这是我遇到问题的地方:
public static function load($template, $data=array()) {
ob_start();
include ( TEMPLATE . $template .'.tpl' );
ob_flush();
}
我尝试使用 include() 和 file_get_contents(),但无济于事 - 我正在寻找一个简单的解决方案,我可以使用 {$data['var']} 语法,最好保留模板 HTML作为一个简单的变量,因此可以将其添加到输出中。
我试图避免使用 eval()。
谁能给我一些指导?
【问题讨论】: