<?php require_once 'Savant3.php'; $tpl = new Savant3(); $name = "轻量级PHP模板引擎Savant"; $booklist = array( array( 'author' => 'biuuu', 'title' => '必优博客' ), array( 'author' => 'Savant', 'title' => '轻量级PHP模板引擎' ) ); $tpl->title = $name; $tpl->books = $booklist; $tpl->display('books.tpl.php'); ?> 代码详解 一,包含Savant模板文件,与包含其它模板文件一样,如: require_once 'Savant3.php'; 二,声明一个Savant模板对象,如: $tpl = new Savant3(); 三,定义一个简单变量,如: $name = "轻量级PHP模板引擎Savant"; 四,定义一个二维数组,如: $booklist = array( array( 'author' => 'biuuu', 'title' => '必优博客' ), array( 'author' => 'Savant', 'title' => '轻量级PHP模板引擎' ) ); 五,给模板赋值 $tpl->title = $name; $tpl->books = $booklist; 六,输出模板 $tpl->display('biuuu.tpl.php'); biuuu.tpl.php模板中使用以上定义的变量和数组 输出变量$tpl->title <title><?php echo $this->eprint($this->title); ?></title> 输出二维数组$tpl->books = $booklist; <?php foreach ($this->books as $key => $val): ?> <tr> <td><?php echo $this->eprint($val['author']); ?></td> <td><?php echo $this->eprint($val['title']); ?></td> </tr> <?php endforeach; ?> 使用非常简单,与我们平时的PHP输出基本上一样,使用eprint()过滤输出,eprint()函数如下: public function eprint($value){ $num = func_num_args(); if ($num == 1) { echo $this->escape($value); } else { $args = func_get_args(); echo call_user_func_array( array($this, 'escape'), $args ); } } 从上eprint()方法可知,eprint()调用了escape()输出,实质是一个htmlspecialchars等的过滤,这与我们很多模板输出是一样的,具体代码大家可以看一下Savant3.php文件。 这里简单的介绍一下这个轻量级的PHP模板引擎,Savant有一个面向对象的模板插件系统和输出过滤器,Savant3.php中已两个包含了这两个工具,如下: include_once dirname(__FILE__) . '/Savant3/Filter.php'; include_once dirname(__FILE__) . '/Savant3/Plugin.php';
这家伙很懒,还没有设置简介