将 php 文件作为模板包含在内的最佳方法是什么?

Jon*_*Jon 1 php

我有一个简单的模板,主要是 html,然后通过 PHP 从 SQL 中提取一些内容,我想将此模板包含在另一个 php 文件的三个不同位置。做这个的最好方式是什么?我可以包含它然后打印内容吗?

模板示例:

Price: <?php echo $price ?>
Run Code Online (Sandbox Code Playgroud)

例如,我有另一个 php 文件,仅当日期比 SQL 中的日期晚两天以上时,该文件才会显示模板文件。

Lot*_*tes 5

最好的方法是在关联数组中传递所有内容。

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”的内容。