﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-JRobot-文章分类-php相关</title><link>http://www.blogjava.net/jrobot/category/2760.html</link><description>java相关技术,eclipse,swt,jface</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 06:39:40 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 06:39:40 GMT</pubDate><ttl>60</ttl><item><title>SmartTemplate学习笔记</title><link>http://www.blogjava.net/JRobot/articles/10181.html</link><dc:creator>JRobot</dc:creator><author>JRobot</author><pubDate>Mon, 15 Aug 2005 16:26:00 GMT</pubDate><guid>http://www.blogjava.net/JRobot/articles/10181.html</guid><wfw:comment>http://www.blogjava.net/JRobot/comments/10181.html</wfw:comment><comments>http://www.blogjava.net/JRobot/articles/10181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/JRobot/comments/commentRss/10181.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/JRobot/services/trackbacks/10181.html</trackback:ping><description><![CDATA[<p>目录 <br>1、SmartTemplate的效率 <br>2、基本变量 <br>3、逻辑运算结构 <br>4、模式（Methods） <br>5、扩展类(Extensions) 未完成 <br>------------------------------------------------------------------------ <br>1、SmartTemplate的效率 <br>虽然他有很多的程序来形成强大的功能，但在执行时只有你调用的才被导入，所以不用担心这方面的速度影响，同样这套模版系统是为最快的执行效率而优化过的，比起目前市场上常见的Smarty，要快不少（Smarty采用后期缓存，所以比较可能不是很准确）。 </p>

<p>&nbsp;<br><br>2、SmartTemplate的变量 <br>Array的变量是由SmartTemplate内建函数assign（）来赋值的 <br>具体语法如下 </p>

<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>assign ( 模版中的变量, 要替换的内容 ) </td></tr></tbody>
</table>
<br>
或 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>assign ( Array内容 ) </td></tr></tbody>
</table>
<br>
正如其他程序的变量一样，smartTemplate的变量是由特殊的{}所包含的。里面的内容可以是String，Array，Int，或者是Long Text等等（基本上php支持的） <br>
在储存Array数据时，smartTemplate运用了我们常见的父子级分割符"."，所以一个特殊的Array数据由Array Handle和具体位置的索引组成(Numerical Index or Associative Index)。 <br>
下面是一个例子 <br>
在php环境下运行以下程序 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;?php<br>&nbsp;&nbsp; $template&nbsp; =&nbsp; new SmartTemplate('template.html');<br>&nbsp;&nbsp; $text&nbsp; =&nbsp; 'Sample Text';<br>&nbsp;&nbsp; $template-&gt;assign( 'TITLE', $text );<br>&nbsp;&nbsp; $template-&gt;output();<br>?&gt; </td></tr></tbody>
</table>
<br>
模版 <br>
<br>

<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;html&gt; {TITLE} &lt;/html&gt; </td></tr></tbody>
</table>
<br>
输出
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;html&gt; Sample Text &lt;/html&gt; </td></tr></tbody>
</table>
<br>
在只有一个Array的情况下，可以直接省略前面的array handle,就象在使用javascript时，document.window.close()可以省略为window.close() 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;?php<br>&nbsp;&nbsp; $user&nbsp; =&nbsp; array(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'NAME'&nbsp; =&gt; 'John Doe', <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'GROUP' =&gt; 'Admin',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'AGE'&nbsp;&nbsp; =&gt; '42',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br>&nbsp;&nbsp; $template&nbsp; =&nbsp; new SmartTemplate('user.html');<br>&nbsp;&nbsp; $template-&gt;assign( $user );<br>&nbsp;&nbsp; $template-&gt;output();<br>?&gt; <br></td></tr></tbody>
</table>
<br>
模版
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>Name:&nbsp; {NAME}<br>Group: {GROUP}<br>Age:&nbsp;&nbsp; {AGE} <br>输出 <br>CODE&nbsp; <br>Name:&nbsp; John Doe<br>Group: Admin<br>Age:&nbsp;&nbsp; 42 </td></tr></tbody>
</table>

<p><br>下面是另外一个例子。使用了SmartTemplate的循环函数&lt;!-- begin Array名 --&gt;XXXXXX&lt;!-- end Array名&gt; <br>他的功能类似foreach()，只要有东西，就一直循环显示 </p>

<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;?php<br>&nbsp;&nbsp; $links&nbsp; =&nbsp; array(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'TITLE' =&gt; 'PHP',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'URL'&nbsp;&nbsp; =&gt; 'http://www.php.net/',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'TITLE' =&gt; 'Apache',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'URL'&nbsp;&nbsp; =&gt; 'http://www.php.net/',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'TITLE' =&gt; 'MySQL',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'URL'&nbsp;&nbsp; =&gt; 'http://www.mysql.com/',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br>&nbsp;&nbsp; $template&nbsp; =&nbsp; new SmartTemplate('links.html');<br>&nbsp;&nbsp; $template-&gt;assign( 'links', $links );<br>&nbsp;&nbsp; $template-&gt;output();<br>?&gt; </td></tr></tbody>
</table>
<br>
HTML模版 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;html&gt;<br>&lt;h3&gt; Sample Links &lt;/h3&gt;<br>&lt;!-- BEGIN links --&gt;<br>&nbsp;&nbsp; &lt;a href="../{URL}"&gt; {TITLE} &lt;/a&gt;<br>&lt;!-- END links --&gt;<br>&lt;/html&gt; <br>CODE&nbsp; <br>&lt;html&gt;<br>&lt;h3&gt; Sample Links &lt;/h3&gt;<br>&nbsp;&nbsp; &lt;a href="../<a href="http://www.php.net/">http://www.php.net/</a>"&gt; PHP &lt;/a&gt;<br>&nbsp;&nbsp; &lt;a href="../<a href="http://www.apache.org/">http://www.apache.org/</a>"&gt; Apache &lt;/a&gt;<br>&nbsp;&nbsp; &lt;a href="../<a href="http://www.mysql.com/">http://www.mysql.com/</a>"&gt; MySQL &lt;/a&gt;<br>&lt;/html&gt; </td></tr></tbody>
</table>
<br>
3、SmartTemplate的逻辑控制结构 <br>
★If和end If <br>
语法： <br>
&lt;!-- IF 变量 --&gt; 变量已被赋值！ &lt;!-- ENDIF 变量 --&gt; <br>
如果IF后面直接跟变量，变量为Null时会返回0,否则返回1 <br>
&lt;!-- IF name=="John Doe" --&gt; Your name is John Doe! &lt;!-- ENDIF name --&gt; <br>
==判断是否相等，如果相等返回1，不相等返回0 <br>
&lt;!-- IF name!="John Doe" --&gt; Your name is not John Doe! &lt;!-- ENDIF name --&gt; <br>
!=判断是否不等，如果成立返回1,相等则返回0 <br>
例子： <br>
<br>

<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;?php<br>&nbsp;&nbsp; require_once "class.smarttemplate.php";<br>&nbsp;&nbsp; $page = new SmartTemplate("if.html");<br>&nbsp;&nbsp; $page-&gt;assign( 'username',&nbsp;&nbsp; 'John Doe' );<br>&nbsp;&nbsp; $page-&gt;assign( 'usergroup',&nbsp; 'ADMIN' );<br>&nbsp;&nbsp; $page-&gt;assign( 'picture',&nbsp;&nbsp;&nbsp; '' );<br>&nbsp;&nbsp; $page-&gt;output();<br>?&gt;&nbsp; </td></tr></tbody>
</table>
<br>
HTML 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;!-- IF username --&gt; &lt;H3&gt; Welcome, {username} &lt;/H3&gt; &lt;!-- ENDIF --&gt;<br>&lt;!-- IF picture --&gt; &lt;img src="{picture}"&gt; &lt;!-- ENDIF picture --&gt;<br>&lt;!-- IF usergroup="ADMIN" --&gt;<br>&lt;a href="../admin.php"&gt; ADMIN Login &lt;/a&gt;&lt;br&gt;<br>&lt;!-- ENDIF usergroup --&gt;</td></tr></tbody>
</table>
<br>
输出
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;H3&gt; Welcome, John Doe &lt;/H3&gt; <br>&lt;a href="../admin.php"&gt; ADMIN Login &lt;/a&gt;&lt;br&gt;</td></tr></tbody>
</table>
<br>
★IF的子局 else <br>
如果else子句出现在一个逻辑循环中，当if的条件不成立时则会被运行。 <br>
例子 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;?php<br>&nbsp;&nbsp; require_once "class.smarttemplate.php";<br>&nbsp;&nbsp; $page = new SmartTemplate("else.html");<br>&nbsp;&nbsp; $page-&gt;assign( 'username',&nbsp;&nbsp; 'John Doe' );<br>&nbsp;&nbsp; $page-&gt;assign( 'usergroup',&nbsp; 'ADMIN' );<br>&nbsp;&nbsp; $page-&gt;assign( 'picture',&nbsp;&nbsp;&nbsp; '' );<br>&nbsp;&nbsp; $page-&gt;output();<br>?&gt;&nbsp; </td></tr></tbody>
</table>
<br>
模版
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;!-- IF username --&gt;<br>&lt;H3&gt; Welcome, {username} &lt;/H3&gt;<br>&lt;!-- ENDIF --&gt;<br>&lt;!-- IF picture --&gt;<br>&lt;img src="{picture}"&gt;<br>&lt;!-- ELSE --&gt;<br>Picture not available! &lt;br&gt;<br>&lt;!-- ENDIF picture --&gt;<br>&lt;!-- IF usergroup="ADMIN" --&gt;<br>&lt;a href="../admin.php"&gt; ADMIN Login &lt;/a&gt;&lt;br&gt;<br>&lt;!-- ELSE --&gt;<br>You are in guest mode!<br>&lt;!-- ENDIF usergroup --&gt; </td></tr></tbody>
</table>
<br>
输出 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;H3&gt; Welcome, John Doe &lt;/H3&gt;<br>Picture not available! &lt;br&gt;<br>&lt;a href="../admin.php"&gt; ADMIN Login &lt;/a&gt;&lt;br&gt;</td></tr></tbody>
</table>
<br>
★elseif <br>
elseif是else和if组合起来的一种结构,其意义为"除此之外如果..." <br>
以下是一个例子 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;?php<br>&nbsp;&nbsp; require_once "class.smarttemplate.php";<br>&nbsp;&nbsp; $page = new SmartTemplate("elseif.html");<br>&nbsp;&nbsp; $page-&gt;assign( 'usergroup',&nbsp; 'INTERNAL' );<br>&nbsp;&nbsp; $page-&gt;output();<br>?&gt;&nbsp; </td></tr></tbody>
</table>
<br>
模版文件 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;!-- IF usergroup="ADMIN" --&gt;<br>&lt;a href="../admin.php"&gt; 管理员登陆 &lt;/a&gt;&lt;br&gt;<br>&lt;!-- ELSEIF usergroup="SUPPORT" --&gt;<br>&lt;a href="../support.php"&gt; 帮助人员登陆&lt;/a&gt;&lt;br&gt;<br>&lt;!-- ELSEIF usergroup --&gt;<br>&lt;a href="../other.php"&gt; 普通方式登陆 &lt;/a&gt;&lt;br&gt;<br>&lt;!-- ELSE --&gt;<br>You don't even have a usergroup!<br>&lt;!-- ENDIF --&gt; </td></tr></tbody>
</table>
<br>
运行php得到的输出 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;a href="../other.php"&gt; 普通方式登陆 &lt;/a&gt;&lt;br&gt; </td></tr></tbody>
</table>
<br>
★Begin...End <br>
这
个语句用于读取一个整数索引矩阵(Numerical
Array,以数字为索引的数组)的值.而每个整数矩阵的子矩阵则成为以字符串为索引的矩阵(Associative
Array)然后在&lt;!-- begin --&gt; 和 &lt;!-- end --&gt;之间的语句将会被读取并且重复执行. <br>
附加:,每个associative array(字符串为索引的矩阵)会有两个附加的值 <br>
ROWCNT : 此元素在父矩阵中的具体位置 (0,1,2,3,...n) (就是目前在第几个矩阵) <br>
ROWBIT : 矩阵序号的最后一位. (0,1,0,1,0,1,...) <br>
下面是一个例子 <br>
PHP代码: 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;?php<br>&nbsp;&nbsp; require_once "class.smarttemplate.php";<br>&nbsp;&nbsp; $page = new SmartTemplate("begin_end.html");<br>&nbsp;&nbsp; $users = array(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
array( 'NAME' =&gt; 'John Doe',&nbsp;&nbsp; 'GROUP' =&gt; 'ADMIN' ),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
array( 'NAME' =&gt; 'Jack Doe',&nbsp;&nbsp; 'GROUP' =&gt; 'SUPPORT' ),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
array( 'NAME' =&gt; 'James Doe',&nbsp; 'GROUP' =&gt; 'GUEST' ),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
array( 'NAME' =&gt; 'Jane Doe',&nbsp;&nbsp; 'GROUP' =&gt; 'GUEST' ),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br>&nbsp;&nbsp; $page-&gt;assign( 'users',&nbsp; $users );<br>&nbsp;&nbsp; $page-&gt;output();<br>?&gt;</td></tr></tbody>
</table>
<br>
HTML模版 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;style type="text/css"&gt;<br>.col0 { background-color: #D0D0D0; }<br>.col1 { background-color: #F0F0F0; }<br>&lt;/style&gt;<br>&lt;table border="1" cellpadding="2" cellspacing="0"&gt;<br>&lt;tr&gt;<br>&lt;th&gt; No &lt;/th&gt;<br>&lt;th&gt; Username &lt;/th&gt;<br>&lt;th&gt; Usergroup &lt;/th&gt;<br>&lt;/tr&gt;<br>&lt;!-- BEGIN users --&gt;<br>&lt;tr class="col{ROWBIT}"&gt;<br>&lt;td&gt; {ROWCNT} &lt;/td&gt;<br>&lt;td&gt; {NAME} &lt;/td&gt;<br>&lt;td&gt; {GROUP} &lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;!-- END users --&gt;<br>&lt;/table&gt;</td></tr></tbody>
</table>
<br>
最后的输出 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;style type="text/css"&gt;<br>.col0 { background-color: #D0D0D0; }<br>.col1 { background-color: #F0F0F0; }<br>&lt;/style&gt;<br>&lt;table border="1" cellpadding="2" cellspacing="0"&gt;<br>&lt;tr&gt;<br>&lt;th&gt; No &lt;/th&gt;<br>&lt;th&gt; Username &lt;/th&gt;<br>&lt;th&gt; Usergroup &lt;/th&gt;<br>&lt;/tr&gt;<br>&lt;tr class="col0"&gt;<br>&lt;td&gt; 0 &lt;/td&gt;<br>&lt;td&gt; John Doe &lt;/td&gt;<br>&lt;td&gt; ADMIN &lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;tr class="col1"&gt;<br>&lt;td&gt; 1 &lt;/td&gt;<br>&lt;td&gt; Jack Doe &lt;/td&gt;<br>&lt;td&gt; SUPPORT &lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;tr class="col0"&gt;<br>&lt;td&gt; 2 &lt;/td&gt;<br>&lt;td&gt; James Doe &lt;/td&gt;<br>&lt;td&gt; GUEST &lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;tr class="col1"&gt;<br>&lt;td&gt; 3 &lt;/td&gt;<br>&lt;td&gt; Jane Doe &lt;/td&gt;<br>&lt;td&gt; GUEST &lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;/table&gt; </td></tr></tbody>
</table>
<br>
☆smartTemplate的方法 <br>
注:以下列出的方法并不会在模版设计中出前，他们属于smartTemplate的代码编辑部分,但是如果为了实现更深一步的模版设计,下面的内容是肯定有用的. <br>
★基础方法:assign (中文意思:赋值) <br>
语法: <br>
assign ( 变量名, 混合内容 ) <br>
或者 <br>
assign ( 矩阵变量 ) <br>
更多介绍在变量介绍部分 <br>
★Append(附加) <br>
语法:append ( 变量名, 内容 ) <br>
对所提供的变量附加提供的内容 <br>
例子: 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;?php<br>&nbsp;&nbsp; $page&nbsp; =&nbsp; new SmartTemplate('links.html');<br>&nbsp;&nbsp; $page-&gt;append('links' =&gt; array( <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'TITLE' =&gt; 'PHP',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'URL'&nbsp;&nbsp; =&gt; 'http://www.php.net/'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
));<br>&nbsp;&nbsp; $page-&gt;append('links' =&gt; array( <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'TITLE' =&gt; 'Apache',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'URL'&nbsp;&nbsp; =&gt; 'http://www.apache.org/'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
));<br>&nbsp;&nbsp; $page-&gt;append('links' =&gt; array( <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'TITLE' =&gt; 'MySQL',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'URL'&nbsp;&nbsp; =&gt; 'http://www.mysql.com/'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
));<br>&nbsp;&nbsp; $page-&gt;output();<br>?&gt; </td></tr></tbody>
</table>
<br>
模版 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;html&gt;<br>&lt;h3&gt; Sample Links &lt;/h3&gt;<br>&lt;!-- BEGIN links --&gt;<br>&nbsp;&nbsp; &lt;a href="../{URL}"&gt; {TITLE} &lt;/a&gt;<br>&lt;!-- END links --&gt;<br>&lt;/html&gt; </td></tr></tbody>
</table>
<br>
最终输出 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;html&gt;<br>&lt;h3&gt; Sample Links &lt;/h3&gt;<br>&nbsp;&nbsp; &lt;a href="../http://www.php.net/"&gt; PHP &lt;/a&gt;<br>&nbsp;&nbsp; &lt;a href="../http://www.apache.org/"&gt; Apache &lt;/a&gt;<br>&nbsp;&nbsp; &lt;a href="../http://www.mysql.com/"&gt; MySQL &lt;/a&gt;<br>&lt;/html&gt; </td></tr></tbody>
</table>
<br>
另外一个附加字符串的例子: 
<p>
</p>
<table style="border-collapse: collapse;" bgcolor="#000000" border="1" bordercolor="#333333" cellpadding="10" cellspacing="0" width="100%">

<tbody>
<tr>
<td style="font-size: 12px; font-family: Courier New;" bgcolor="#e6e6e6" width="100%">code:<br>&lt;?php<br>&nbsp;&nbsp; $page&nbsp; =&nbsp; new SmartTemplate('template.html');<br>&nbsp;&nbsp; $page-&gt;append('TITLE' =&gt; 'Hello ');<br>&nbsp;&nbsp; $page-&gt;append('TITLE' =&gt; 'World ');<br>&nbsp;&nbsp; $page-&gt;append('TITLE' =&gt; '!');<br>&nbsp;&nbsp; $page-&gt;output();<br>?&gt; </td></tr></tbody>
</table>
<br>
输出将会得到 
<p>
</p>



code:<br>
&lt;html&gt; Hello World ! &lt;/html&gt;<img src ="http://www.blogjava.net/JRobot/aggbug/10181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/JRobot/" target="_blank">JRobot</a> 2005-08-16 00:26 <a href="http://www.blogjava.net/JRobot/articles/10181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>