简单实用的PHP模板引擎 DsTemplate
昨天花了点时间写了个PHP的模板类, 自我感觉良好, 模板中使用php原生语法, 简单、实用、快速. 嘿嘿,源码+注释不到150行, 原来我已经到这里了阿~_~
LD 是极其痛恨 Smarty 和 ADOdb 的! 以前在公司简单作过测试, 一个页面八成的时间花在这两个大腕上, 惨. 这个DsTemplate + MagicDB + DsCache 应该可以完美替代 Smarty + ADOdb 的无耻组合了.
有种说法不置可否, “php 自己就是一个模板引擎” OR “php 的框架不过是建里在框架上的框架” . so 以其使用Smarty , 不如改用Blitz , 或者干脆自己写个简单的.
源代码地址: http://code.google.com/p/dscache/source/browse/trunk/DsTemplate/DsTemplate.class.php
示例:
1. 代码文件
1 <?php
2 /**
3 * 测试DsTemplate
4 *
5 * @filesource testView.php
6 * @package DsTemplate
7 * @subpackage test
8 * @version $id: 0.1, utf8, Sat Jan 2 16:39:27 CST 2010
9 * @author LD King <kldscs[at]gmail.com>
10 * @copyright Copyleft (D.) 2007 – 2009 MiFunny China Inc.
11 * @link http://mifunny.info/
12 * @example
13 *
14 */
15 require_once ’../DsTemplate.class.php‘;
16
17 $template_path = dirname(__FILE__); //模板文件所在目录
18 $template_file = ’testTemplate01.php‘; //模板文件
19
20 $view = new DsTemplate($template_path); //初始化模板对象, $template_path 可为空
21
22 $view->TEMPLATEPATH = $template_path; //重新定义模板目录, 可选
23
24 $view->abc = ’ABC‘;
25 $view->king = ’King\’s Zero Fourr‘; //设置变量 $abc, $king
26
27 $view->display($template_file); //显示最终结果,
28 //等同 echo $view->fetch($template_file);
29 ?>
2. 视图文件
1 <?php
2 /**
3 * 用于测试的模板文件
4 *
5 * @filesource testTemplate01.php
6 * @package DsTemplate
7 * @subpackage test
8 * @version $id: 0.1, utf8, Sat Jan 2 16:52:03 CST 2010
9 * @author LD King <kldscs[at]gmail.com>
10 * @copyright Copyleft (D.) 2007 – 2009 MiFunny China Inc.
11 * @link http://mifunny.info/
12 * @desc
13 * 模板中含有两个常量:
14 * TP 模板根目录, 例 /srv/http/site/templates/
15 * DS 目录分隔符, Windows下为 ‘\’ ,Linux下为 ‘/’
16 *
17 */
18
19 echo ’Start showing….<br/>‘,_e($abc);
20 include(TP.‘testTemplate02.php‘);
21 ?>
22 <hr/>
23 <br/>包含其他模板时,多目录用: include(TP.’sidebar’.DS.’testSidebar.php’);
3. 视图文件
1 <hr/>
2 /**
3 * 测试模板
4 *
5 * @filesource testTemplate02.php
6 * @package DsTemplate
7 * @subpackage test
8 * @version $id: 0.1, utf8, Sat Jan 2 17:00:46 CST 2010
9 * @author LD King <kldscs[at]gmail.com>
10 * @copyright Copyleft (D.) 2007 – 2009 MiFunny China Inc.
11 * @link http://mifunny.info/
12 * @example
13 *
14 */
15 <?php
16 echo ’<br/><br/>输出函数 _e($value, $escape) 可以完成自动转义, ‘,
17 ’<br/>比如: _e($king) = ‘,_e($king);
18 ?>
Pages: 1 2
此站点遵守 知识共享协议! 转载请注明文章出处及本文链接,非常感谢!
关键字: DsTemplate, php, template engine, 原生态php, 模板引擎
