我使用并不能说明他就是好。主要原因是他很小巧。目前尚未看到smartTemplate的中文手册,英文的好象也没有。大概是因为太简单了,没有写手册的必要吧下载的smartTemplate包中是包含示例的

解决方案 »

  1.   

    www.smartphp.net官方网站上有sample的
      

  2.   

    在这个网址上下载了smarttemplate 1.0,可是那么多文件,不知道怎么用啊
      

  3.   

    一般来说只用三个文件,class.smarttemplate.php,class.smarttemplateparser.php,class.smarttemplatedebugger.php  在你使用的文件中包含class.smarttemplate.php,就可以了。
    网上有个高人的学习笔记,搜索一下有可以找到!!
      

  4.   

    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="{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> 
    3、SmartTemplate的逻辑控制结构 ★If和end If 语法: 
    <!-- IF 变量 --> 变量已被赋值! <!-- ENDIF 变量 --> 
    如果IF后面直接跟变量,变量为Null时会返回0,否则返回1 <!-- IF name=="John Doe" --> Your name is John Doe! <!-- ENDIF name --> 
    ==判断是否相等,如果相等返回1,不相等返回0 <!-- IF name!="John Doe" --> Your name is not John Doe! <!-- ENDIF name --> 
    !=判断是否不等,如果成立返回1,相等则返回0 例子: 
    PHP 代码: 
    <?php require_once "class.smarttemplate.php"; 
    $page = new SmartTemplate("if.html"); $page->assign( 'username', 'John Doe' ); 
    $page->assign( 'usergroup', 'ADMIN' ); 
    $page->assign( 'picture', '' ); $page->output(); ?> 
    HTML 
    代码: 
    <!-- IF username --> <H3> Welcome, {username} </H3> <!-- ENDIF --> 
    <!-- IF picture --> <img src="{picture}"> <!-- ENDIF picture --> 
    <!-- IF usergroup="ADMIN" --> <a href="admin.php"> ADMIN Login </a><br> <!-- ENDIF usergroup --> 输出代码: 
    <H3> Welcome, John Doe </H3> 
    <a href="admin.php"> ADMIN Login </a><br> 
    ★IF的子局 else 
    如果else子句出现在一个逻辑循环中,当if的条件不成立时则会被运行。 
    例子 
    代码: 
    <?php require_once "class.smarttemplate.php"; 
    $page = new SmartTemplate("else.html"); $page->assign( 'username', 'John Doe' ); 
    $page->assign( 'usergroup', 'ADMIN' ); 
    $page->assign( 'picture', '' ); $page->output(); ?> 
    模版 代码: 
    <!-- IF username --> <H3> Welcome, {username} </H3> <!-- ENDIF --> <!-- IF picture --> <img src="{picture}"> <!-- ELSE --> Picture not available! <br> <!-- ENDIF picture --> <!-- IF usergroup="ADMIN" --> <a href="admin.php"> ADMIN Login </a><br> <!-- ELSE --> You are in guest mode! <!-- ENDIF usergroup --> 
    输出 代码: 
    <H3> Welcome, John Doe </H3> Picture not available! <br> <a href="admin.php"> ADMIN Login </a><br> ★elseif 
    elseif是else和if组合起来的一种结构,其意义为"除此之外如果..." 
    以下是一个例子 
    代码: 
    <?php require_once "class.smarttemplate.php"; 
    $page = new SmartTemplate("elseif.html"); $page->assign( 'usergroup', 'INTERNAL' ); $page->output(); ?> 
    模版文件 
    代码: 
    <!-- IF usergroup="ADMIN" --> <a href="admin.php"> 管理员登陆 </a><br> <!-- ELSEIF usergroup="SUPPORT" --> <a href="support.php"> 帮助人员登陆</a><br> <!-- ELSEIF usergroup --> <a href="other.php"> 普通方式登陆 </a><br> <!-- ELSE --> You don't even have a usergroup! <!-- ENDIF --> 
    运行php得到的输出 
    代码: 
    <a href="other.php"> 普通方式登陆 </a><br>
      

  5.   

    ★Begin...End 这个语句用于读取一个整数索引矩阵(Numerical Array,以数字为索引的数组)的值.而每个整数矩阵的子矩阵则成为以字符串为索引的矩阵(Associative Array)然后在<!-- begin --> 和 <!-- end -->之间的语句将会被读取并且重复执行. 附加:,每个associative array(字符串为索引的矩阵)会有两个附加的值 
    ROWCNT : 此元素在父矩阵中的具体位置 (0,1,2,3,...n) (就是目前在第几个矩阵) 
    ROWBIT : 矩阵序号的最后一位. (0,1,0,1,0,1,...) 下面是一个例子 PHP代码: 代码: 
    <?php require_once "class.smarttemplate.php"; 
    $page = new SmartTemplate("begin_end.html"); $users = array( 
    array( 'NAME' => 'John Doe', 'GROUP' => 'ADMIN' ), 
    array( 'NAME' => 'Jack Doe', 'GROUP' => 'SUPPORT' ), 
    array( 'NAME' => 'James Doe', 'GROUP' => 'GUEST' ), 
    array( 'NAME' => 'Jane Doe', 'GROUP' => 'GUEST' ), 
    ); $page->assign( 'users', $users ); $page->output(); ?> 
    HTML模版 代码: 
    <style type="text/css"> 
    .col0 { background-color: #D0D0D0; } 
    .col1 { background-color: #F0F0F0; } 
    </style> <table border="1" cellpadding="2" cellspacing="0"> 
    <tr> 
    <th> No </th> 
    <th> Username </th> 
    <th> Usergroup </th> 
    </tr> <!-- BEGIN users --> <tr class="col{ROWBIT}"> 
    <td> {ROWCNT} </td> 
    <td> {NAME} </td> 
    <td> {GROUP} </td> 
    </tr> <!-- END users --> </table> 最后的输出 
    代码: 
    <style type="text/css"> 
    .col0 { background-color: #D0D0D0; } 
    .col1 { background-color: #F0F0F0; } 
    </style> <table border="1" cellpadding="2" cellspacing="0"> 
    <tr> 
    <th> No </th> 
    <th> Username </th> 
    <th> Usergroup </th> 
    </tr> 
    <tr class="col0"> 
    <td> 0 </td> 
    <td> John Doe </td> 
    <td> ADMIN </td> 
    </tr> 
    <tr class="col1"> 
    <td> 1 </td> 
    <td> Jack Doe </td> 
    <td> SUPPORT </td> 
    </tr> 
    <tr class="col0"> 
    <td> 2 </td> 
    <td> James Doe </td> 
    <td> GUEST </td> 
    </tr> 
    <tr class="col1"> 
    <td> 3 </td> 
    <td> Jane Doe </td> 
    <td> GUEST </td> 
    </tr> 
    </table> 
    ☆smartTemplate的方法 注:以下列出的方法并不会在模版设计中出前,他们属于smartTemplate的代码编辑部分,但是如果为了实现更深一步的模版设计,下面的内容是肯定有用的. ★基础方法:assign (中文意思:赋值) 语法: 
    assign ( 变量名, 混合内容 ) 或者 assign ( 矩阵变量 ) 更多介绍在变量介绍部分 ★Append(附加) 
    语法:append ( 变量名, 内容 ) 对所提供的变量附加提供的内容 例子: 
    代码: 
    <?php $page = new SmartTemplate('links.html'); $page->append('links' => array( 
    'TITLE' => 'PHP', 
    'URL' => 'http://www.php.net/' 
    )); 
    $page->append('links' => array( 
    'TITLE' => 'Apache', 
    'URL' => 'http://www.apache.org/' 
    )); 
    $page->append('links' => array( 
    'TITLE' => 'MySQL', 
    'URL' => 'http://www.mysql.com/' 
    )); 
    $page->output(); ?> 
    模版 代码: 
    <html> 
    <h3> Sample Links </h3> <!-- BEGIN links --> <a href="{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> 
    另外一个附加字符串的例子: 代码: 
    <?php $page = new SmartTemplate('template.html'); $page->append('TITLE' => 'Hello '); 
    $page->append('TITLE' => 'World '); 
    $page->append('TITLE' => '!'); $page->output(); ?> 
    输出将会得到 代码: 
    <html> Hello World ! </html> 
      

  6.   

    还有就是要配置一些东西,如:
    $_CONFIG['reuse_code']         = false;
    $_CONFIG['template_dir']         = TEMPLATE_PATH;//模板路径
    $_CONFIG['smarttemplate_compiled']  = TEMP_PATH;//编译后的文件路径
    $_CONFIG['smarttemplate_cache']     = CACHE_PATH;//缓存文件路径
    $_CONFIG['cache_lifetime']         = 30*60*60*24; //缓存一天