模板

基本模板

在 PHP 中使用模板最简单的方式非常强大,有助于减少错误并节省开发时间。首先,确保你的服务器启用了 PHP 等等。

当你准备好开始时,首先创建一个页面,作为你所有页面的模板。例如:

这是我页面顶部的标题

这是我页面的主体内容

这是版权声明

现在,假设你想要另外两个页面,它们的头部和尾部是相同的。你不需要再次编写代码。你可以将头部保存为一个模板,尾部保存为另一个模板。只需要将所有的头部 HTML 代码保存,直到你的主体内容开始为止:

<html><body><p>这是我页面顶部的标题</p>

现在将这个部分保存为一个单独的文件。我喜欢使用 .inc 扩展名(对尾部也做同样的操作):

<p>这是我页面底部的内容</p></body></html>

现在,在你的主页面中,只需要输入:

<?php require('header.inc'); ?>
<p>这是我页面的主体内容</p>
<?php require('footer.inc'); ?>

就是这样。将其保存为 .php 文件,上传并检查它。

注意事项

你还可以使用 include()include_once() 函数,如果页面在无法包含文件时仍然继续加载。

require()include()include_once() 函数可以与其他文件类型一起使用,并且可以在页面中的任何位置使用。

高级用法:尝试结合 if 语句实现动态模板... 哦...

管理模板(Managed Templating)

管理模板允许你使用模板引擎创建和使用 PHP 模板。PHP 开发者/设计师不需要为模板引擎编写代码。最可靠的 PHP 模板引擎是 Smarty ([1])。管理模板系统易于使用,通常用于大型网站,因为它们需要动态分页。MediaWiki 就是一个管理模板系统的例子。管理模板对于新手和高级用户都非常易于使用,例如:

index.php

// 这个脚本基于 Smarty
require_once("libs/Smarty.inc.php");
// 编译文件目录
$smarty->compile_dir = "compiled";
// 模板目录
$smarty->template_dir = "templates";
// 分配变量
$smarty->assign("variable", "value");
// 显示解析后的模板
$smarty->display("template.tpl");

template.tpl

变量的值是:{$variable}

输出

变量的值是:value

自定义模板引擎

模板引擎非常好用,但如果你只需要基本的查找和替换模板功能,编写自己的脚本也非常简单。

简单模板函数

function Template($file, $array) {
    if (file_exists($file)) {
        $output = file_get_contents($file);
        foreach ($array as $key => $val) {
            $replace = '{'.$key.'}';
            $output = str_replace($replace, $val, $output);
        }
        return $output;
    }
}

使用该函数

$fruit = 'Watermelon';
$color = 'Gray';

// 解析并返回模板
$Template_Tpl = Template('template.tpl',
    array(
        'fruit' => $fruit,
        'color' => $color
    )
);

// 显示模板
echo $Template_Tpl;

template.tpl,为上面的函数使用的模板:

<p>
  <b>你最喜欢的食物是:{fruit}</b>
  <b>你最喜欢的颜色是:{color}</b>
</p>

解析后的模板输出

<p>
  <b>你最喜欢的食物是:Watermelon</b>
  <b>你最喜欢的颜色是:Gray</b>
</p>

这种方法非常简洁,并且能够实现模板的基本功能。

Last modified: Friday, 10 January 2025, 1:53 AM