[导读]目录 1、SmartTemplate的效率 2、基本变量 3、逻辑运算结构 4、模式(Methods) 5、扩展类(Extensions) 未完成 ------------------------------------------------------------------------ 1、SmartTemplate的效率 ...

目录

1、SmartTemplate的效率

2、基本变量

3、逻辑运算结构

4、模式(Methods)

5、扩展类(Extensions) 未完成

------------------------------------------------------------------------

1、SmartTemplate的效率

虽然他有很多的程序来形成强大的功能,但在执行时只有你调用的才被导入,所以不用担心这方面的速度影响,同样这套模版系统是为最快的执行效率而优化过的,比起目前市场上常见的Smarty,要快不少(Smarty采用后期缓存,所以比较可能不是很准确)。

2、SmartTemplate的变量

Array的变量是由SmartTemplate内建函数assign()来赋值的
具体语法如下
assign ( 模版中的变量, 要替换的内容 )

assign ( Array内容 )


正如其他程序的变量一样,smartTemplate的变量是由特殊的{}所包含的。里面的内容可以是String,Array,Int,或者是Long Text等等(基本上php支持的)

在储存Array数据时,smartTemplate运用了我们常见的父子级分割符".",所以一个特殊的Array数据由Array Handle和具体位置的索引组成(Numerical Index or Associative Index)。
下面是一个例子

在php环境下运行以下程序
代码:
<?php

    $template  =  new SmartTemplate('template.html');

    $text  =  'Sample Text';
    $template->assign( 'TITLE', $text );

    $template->output();

?>


模版
代码:
<html> {TITLE} </html>


输出
代码:
<html> Sample Text </html>



在只有一个Array的情况下,可以直接省略前面的array handle,就象在使用javascript时,document.window.close()可以省略为window.close()

php
代码:
<?php

    $user  =  array(
                 'NAME'  => 'John Doe',
                 'GROUP' => 'Admin',
                 'AGE'   => '42',
              );

    $template  =  new SmartTemplate('user.html');

    $template->assign( $user );

    $template->output();

?>


模版
代码:
Name:  {NAME}
Group: {GROUP}
Age:   {AGE}


输出
代码:
Name:  John Doe
Group: Admin
Age:   42




下面是另外一个例子。使用了SmartTemplate的循环函数<!-- begin Array名 -->XXXXXX<!-- end Array名>
他的功能类似foreach(),只要有东西,就一直循环显示




代码:
<?php

    $links  =  array(
                   array(
                       'TITLE' => 'PHP',
                       'URL'   => 'http://www.php.net/',
                   ),
                   array(
                       'TITLE' => 'Apache',
                       'URL'   => 'http://www.php.net/',
                   ),
                   array(
                       'TITLE' => 'MySQL',
                       'URL'   => 'http://www.mysql.com/',
                   ),
               );

    $template  =  new SmartTemplate('links.html');
    $template->assign( 'links', $links );
    $template->output();

?>


HTML模版
代码:
<html>
<h3> Sample Links </h3>

<!-- BEGIN links -->

    <a href="http://www.t086.com/article/{URL}"> {TITLE} </a>

<!-- END links -->

</html>


代码:
<html>
<h3> Sample Links </h3>

    <a href="http://www.php.net/"> PHP </a>

    <a href="http://www.apache.org/"> Apache </a>

    <a href="http://www.mysql.com/"> MySQL </a>

</html>