我有一个简单的模板,主要是 html,然后通过 PHP 从 SQL 中提取一些内容,我想将此模板包含在另一个 php 文件的三个不同位置。做这个的最好方式是什么?我可以包含它然后打印内容吗?
模板示例:
Price: <?php echo $price ?>
Run Code Online (Sandbox Code Playgroud)
例如,我有另一个 php 文件,仅当日期比 SQL 中的日期晚两天以上时,该文件才会显示模板文件。
最好的方法是在关联数组中传递所有内容。
class Template {
public function render($_page, $_data) {
extract($_data);
include($_page);
}
}
Run Code Online (Sandbox Code Playgroud)
构建模板:
$data = array('title' => 'My Page', 'text' => 'My Paragraph');
$Template = new Template();
$Template->render('/path/to/file.php', $data);
Run Code Online (Sandbox Code Playgroud)
您的模板页面可能是这样的:
<h1><?php echo $title; ?></h1>
<p><?php echo $text; ?></p>
Run Code Online (Sandbox Code Playgroud)
Extract 是一个非常漂亮的函数,它可以将关联数组解压到本地命名空间中,以便您可以执行诸如echo $title;.
编辑:添加下划线以防止名称冲突,以防万一您提取包含变量“$page”或“$data”的内容。