加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

SmartTemplate学习笔记

发布时间:2020-12-13 14:11:19 所属栏目:PHP教程 来源:网络整理
导读:目录 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',
?????????????????? 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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读