413 12
发新话题
打印

[SMT] 非正式发布我自己改的 SmartTemplate 模板套件

[SMT] 非正式发布我自己改的 SmartTemplate 模板套件

一, 有用文件下载地址:  
本帖隐藏的内容需要回复才可以浏览


二, demo:
http://hi.twomice.net/mysm/examples.php


三, 源代码在线看:
http://hi.twomice.net/mysm/_src/


四, 简易说明:

1. 关于这个 'my_SmartTemplate'

   这是一个基于较为著名的模板系统 SmartTemplate 的改造品, 它是我个人在学习使用 SmartTemplate
   过程中根据自身的需求作出了适当调整而最后形成的.  其中一些设想与改进可能有一定代表性, 故在
   此抛砖以引玉.

   基于最新的 SmartTemplate 的代码, 原作者似乎不再更新该套件了, 所以才会非正式发布该作品

2. 和原版 SmartTemplate 有什么主要区别?

   1) 去除 Debugger 部分, 感觉没什么必要了

   2) 加入 <!-- INCLUDE: /path/to/file --> 指令. 静态包含文件, 基于当前模板文件目录.
      比如在 /path/to/tpl.html 中包含 /path/to/sub/head.html 则只要在 tpl.html 中加入
      语句
复制内容到剪贴板
代码:
:<!-- INCLUDE: sub/head.html -->
由于是静态载入, 故在 head.html 发生变化而 tpl.html 未更新时不会被重新 '编译'

   3) 针对原有的 cache 系统作出一定修改, 因原 cache 是将整页面的执行结果缓存, 用起来比较死板
      典型的如,页面中有少量与 client 相关的变量会导致这页难以使用 cache.

      所以加入了
复制内容到剪贴板
代码:
<!-- NOCACHE BEGIN --> .......<!-- NOCACHE END -->
两个标签指令, 它们必须
      成对出现. 位于标签内的模板内容将不会被 cache , 仍可接受 ::use_cache() 方法前分配的变量
      替换.

   4) 解析循环指令
复制内容到剪贴板
代码:
<!-- BEGIN *** --> ... <!-- END *** -->
的调整与修改
      增加对一维数组的循环支持
      
      内建变量由 ROWBIT ROWCNT 改为 _ROWBIT, _ROWCNT,并增加 _KEY, _VALUE 变量, 举例如下:
复制内容到剪贴板
代码:
      $arr = array(0, 1, 2, 3, 4);
      $tpl->assign('ARR', $arr);

      ...

      <!-- BEGIN ARR -->
      {_ROWCNT}. {_KEY} => {_VALUE} <br />
      <!-- END ARR -->
5) 针对 {EXTENSION:参数} 扩展的支持, 由动态包含扩展文件改为静态包含, 一个文件可支持多个函
      数或多个扩展类(函数集) 其中扩展还可以是已存在的系统函数. 还可以用 {CLASS.method:param}
      相对灵活一些

   6) 增加全局变量和 _SERVER 变量的支持,即 {GLOBALS.hello} 或 {_SERVER.PHP_SELF}
   
   7) 赋值: {.... > VAR} 扩展加入 {.... >> VAR} 意思就是追加在原 VAR 变量的末尾

   

在 IF, ELSE IF 语法支持使用变量于判断式两端

   *) 其它一些小细节的调整与修改 ... 可见详细说明


3. 版权及其它责任声明?

   无

[ 本帖最后由 cfan 于 2007-12-3 09:20 编辑 ]

TOP

改得不错,下来研究一下

TOP

这论坛太强了

TOP

看看后在评论

TOP

那下来看看

TOP

还有下吗?我来看看

TOP

谢谢了,支持一下吧

TOP

fffffffffffff

TOP

下来存着~用的时候在研究

TOP

ddddddddddddddddd

TOP

 413 12
发新话题