免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: HonestQiao
打印 上一主题 下一主题

[模板 下载地址更新] SmartTemplate(适用于企业级PHP开发的模板引擎) [复制链接]

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
11 [报告]
发表于 2005-08-15 17:13 |只看该作者

[模板] SmartTemplate(适用于企业级PHP开发的模板引擎)

SmartTemplate::result()
string result ()
解析模板并返回结果.
例子:
  1. <?php

  2.     $page  =  new SmartTemplate('template.html');
  3.     $page->;assign('TITLE' =>; 'Sample Title');

  4.     $output  =  $page->;result();

  5.     echo 'Output page: ' . $output;

  6. ?>;
复制代码

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
12 [报告]
发表于 2005-08-15 17:22 |只看该作者

[模板] SmartTemplate(适用于企业级PHP开发的模板引擎)

SmartTemplate::use_cache
void use_cache ( [mixed key] )
激活内建的输出缓存. 判断当前执行的脚本 (判断依据$_SERVER[REQUEST URI]) 是否在确定的时间内执行过. 如果执行过, use_cache 将返回缓存的页面给浏览器并且中止运行.
如果没有一个有效的输出句柄可以使用,use_cache将激活PHP输出缓存,并且返回数据到执行它的脚本. 下面的脚本执行时, use_cache 捕获所有输出到浏览器的内容,并保存到缓存目录. 缓存的每一个文件名称是唯一的,他根据当前执行的脚本文件名称,GET参数(REQUEST_URI)以及可选得参数来自东设定.
如果脚本有一些重要的工作,例如记录日志等,那么应该在use_cache 之前调用你的代码.
例子:
  1. <?php

  2.     $page  =  SmartTemplate('template.html');
  3.     $page->;cache_dir       =  '/tmp/';  //  Where to store cache files
  4.     $page->;cache_lifetime  =  120;      //  Keep cache for 120 seconds
  5.     $page->;use_cache();                 //  Activate ouput cache

  6.     //
  7.     //  Assemble Page Content
  8.     //

  9.     $page->;output();

  10. ?>;
复制代码

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
13 [报告]
发表于 2005-08-15 17:48 |只看该作者

[模板] SmartTemplate(适用于企业级PHP开发的模板引擎)

SmartTemplate::debug()
void debug ()
激活内建调试器. Debug 能够代替或者内嵌在 output . 他列出了指定的变量及其内容的详细列表, 编译后的模板和模板的原来结构.
Debug 对于确定和排除模板中的错误非常有用.

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
14 [报告]
发表于 2005-08-15 17:49 |只看该作者

[模板] SmartTemplate(适用于企业级PHP开发的模板引擎)

流程控制
SmartPHP 例子: if

if ... endif 控制有条件的输出模板的部分.

语法如下:
变量不为空
  1. <!-- IF var -->; var 不为空! <!-- ENDIF var -->;
复制代码

变量值判断
  1. <!-- IF name=="HonestQiao" -->; Your name is HonestQiao! <!-- ENDIF name -->;
复制代码

变量值否定判断
  1. <!-- IF name!=" HonestQiao " -->; Your name is not HonestQiao! <!-- ENDIF name -->;
复制代码


(var 在 ENDIF 之后是可选的,但是最好加上)
if.php: (  Download)
  1. <?php

  2.     require_once "class.smarttemplate.php";
  3.     $page = new SmartTemplate("if.html");

  4.     $page->;assign( 'username',   'HonestQiao' );
  5.     $page->;assign( 'usergroup',  'ADMIN' );
  6.     $page->;assign( 'picture',    '' );

  7.     $page->;output();

  8. ?>;
复制代码


if.php使用的模板文件如下:
if.html: (  Download)
  1. <!-- IF username -->; <H3>; Welcome, {username} </H3>; <!-- ENDIF -->;


  2. <!-- IF picture -->; <img src="{picture}">; <!-- ENDIF picture -->;


  3. <!-- IF usergroup="ADMIN" -->;

  4. <a href="admin.php">; ADMIN Login </a>;<br>;

  5. <!-- ENDIF usergroup -->;
复制代码


if.php执行的效果如下:
输出: (  查看)
  1. <H3>; Welcome, HonestQiao </H3>;




  2. <a href="admin.php">; ADMIN Login </a>;<br>;
复制代码

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
15 [报告]
发表于 2005-08-15 17:51 |只看该作者

[模板] SmartTemplate(适用于企业级PHP开发的模板引擎)

SmartPHP 例子: else
else 控制作为 if 控制的扩展,当if 判断结果为 FALSE 来输出模板的一部分.
else.php: (  Download)
  1. <?php

  2.     require_once "class.smarttemplate.php";
  3.     $page = new SmartTemplate("else.html");

  4.     $page->;assign( 'username',   'John Doe' );
  5.     $page->;assign( 'usergroup',  'ADMIN' );
  6.     $page->;assign( 'picture',    '' );

  7.     $page->;output();

  8. ?>;
复制代码


else.php使用的模板文件如下:
else.html: (  Download)
  1. <!-- IF username -->;

  2. <H3>; Welcome, {username} </H3>;

  3. <!-- ENDIF -->;



  4. <!-- IF picture -->;

  5. <img src="{picture}">;

  6. <!-- ELSE -->;

  7. Picture not available! <br>;

  8. <!-- ENDIF picture -->;



  9. <!-- IF usergroup="ADMIN" -->;

  10. <a href="admin.php">; ADMIN Login </a>;<br>;

  11. <!-- ELSE -->;

  12. You are in guest mode!

  13. <!-- ENDIF usergroup -->;
复制代码


else.php执行的效果如下:
输出: (  查看)

  1. <H3>; Welcome, John Doe </H3>;





  2. Picture not available! <br>;





  3. <a href="admin.php">; ADMIN Login </a>;<br>;
复制代码

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
16 [报告]
发表于 2005-08-15 17:51 |只看该作者

[模板] SmartTemplate(适用于企业级PHP开发的模板引擎)

SmartPHP 例子: elseif
elseif 控制是 else 与 if 的结合.
elseif.php: (  下载)
  1. <?php

  2.     require_once "class.smarttemplate.php";
  3.     $page = new SmartTemplate("elseif.html");

  4.     $page->;assign( 'usergroup',  'INTERNAL' );

  5.     $page->;output();

  6. ?>;
复制代码


elseif.php使用的模板文件如下:
elseif.html: (  Download)
  1. <!-- IF usergroup="ADMIN" -->;

  2. <a href="admin.php">; Admin Staff Login </a>;<br>;

  3. <!-- ELSEIF usergroup="SUPPORT" -->;

  4. <a href="support.php">; Support Staff Login </a>;<br>;

  5. <!-- ELSEIF usergroup -->;

  6. <a href="other.php">; Standard Login </a>;<br>;

  7. <!-- ELSE -->;

  8. You don't even have a usergroup!

  9. <!-- ENDIF -->;
复制代码

elseif.php执行效果如下:
输出: (  查看)

  1. <a href="other.php">; Standard Login </a>;<br>;
复制代码

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
17 [报告]
发表于 2005-08-15 17:53 |只看该作者

[模板] SmartTemplate(适用于企业级PHP开发的模板引擎)

未完待续

论坛徽章:
0
18 [报告]
发表于 2005-08-16 08:17 |只看该作者

[模板] SmartTemplate(适用于企业级PHP开发的模板引擎)

HonestQiao兄是否可以讲一下SmartTemplate的安装,
我安装以后出现/tmp/配置问题,不知怎样解决,
环境,win+apache2+php4.3
再介绍一下linux环境下的安装

论坛徽章:
0
19 [报告]
发表于 2005-08-16 08:52 |只看该作者

[模板] SmartTemplate(适用于企业级PHP开发的模板引擎)

问题解决了,呵

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
20 [报告]
发表于 2005-08-16 09:06 |只看该作者

[模板] SmartTemplate(适用于企业级PHP开发的模板引擎)

[quote]原帖由 "Unicorn_angel"]问题解决了,呵[/quote 发表:


其实很多时候,多花一分钟时间去看看说明,也许就会节省十分钟的摸索。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP