smart基础
主要是libs里面的smarty类,和init.inc.php配置文件
剩下的是php文件夹、模板文件夹,临时文件夹、缓存文件夹、配置文件夹、插件文件夹
调用main文件夹中的php文件,通过libs文件夹中的smarty类调用注册(assign()方法),再调用显示模板的方法(display())
smarty变量语法:
注释语法: <{* $a *}>
可以在模版中进行运算:<{$a+$b}>
可以忽略smarty解析:<{literal}> #top{} <{/literal}>
在模版中使用数组:
类似与php 索引数组可以用下标:<{$shuzu[0]}>
关联数组用key值:<{$shuzu["one"]}>,还可以用. :<{$shuzu.two}>。。。
注册方法不止可以注册字符串,可以是任意类型,数组、对象等
$db = new DBDA();
$smarty->assign("duixiang",$db);
在模板中调用对象中的字段:<{$duixiang->host}>
介绍配置文件的使用:
配置文件的后缀是.conf:test.conf
内容是:
[one] //分段,可以同名的key名
bgcolor=red
color=white
[two]
bgcolor=green
color=blue
引入配置文件
<{config_load file='test.conf' section="one"}>
smarty保留字:
<{$smarty.const}>可以直接访问smarty常量:语法
<{$smarty.const.ROOT}>
定义常量在配置文件init中:语法
define("CSS_PATH",ROOT."css/");
if、foeach语句:
if语句中的判断符号因为smarty有分隔符的元婴,需要处理一下
if语句:if有结束标签
<{if $a lt 10 }>
11111111111111
<{elseif $a lt 20 }>
22222222222222
<{else}>
3333333
<{/if}>
foreach循环语句:
<{foreach $shuzu as $k=>$v}>
<div><{$v@index}>--<{$v@iteration}>--<{$v@first}>--<{$k}>--><{$v}></div>
<{/foreach}>
<{$v@index}>:当前数组的下标,从0开始
<{$v@iteration}>:当前数组的迭代,从1开始
<{$v@first}>:如果是第一个返回true
如果是最后一个返回true