我一直在查看 Smarty 模板的示例,但找不到我的答案。
目前,我有一个相当简单的 10 页静态 HTML 网站。我正在考虑使用 Smarty 来减少明显的 HTML 重复(页眉、页脚等...)
这可以使用 Smarty 模板吗?还是我最好使用简单的 php 包含?
你绝对可以使用 Smarty 模板来做到这一点。但是,如果您只是想包含页眉/页脚/菜单模板并且真的不需要 Smarty 必须提供的其他功能,那么最好避开它。你是在问如何在 Smarty 中做到这一点,或者哪个更好?如果是后者,在您的情况下使用 include 可能会更好。
<?php
$inc = array(
"title" => "About",
"active" => "About"
);
include_once("inc/header.php");
?>
<p>Lorem ipsum.</p>
<?php
include_once("inc/footer.php");
?>
在 Smarty 中,你会做这样的事情:
<?php
require_once('Smarty.class.php');
$smarty = new Smarty();
$smarty->display("inc/header.tpl");
$smarty->display("inc/about.tpl");
$smarty->display("inc/footer.tpl");
如果您缺少 Smarty 可能提供的一些功能并且觉得您需要它们,那么最好自己创建一个非常简单的模板系统类。
无需使用 Smarty。只需使用 PHP。
require_once($_SERVER['DOCUMENT_ROOT'] . '/inc/header.php');