PHP语言 -- Smarty变量
test.php
<?php include("init.inc.php");
//索引数组 $attr = array(1,2,3,4,5); $smarty->assign("shuzu",$attr);
//关联数组
$attr2 = array("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5);
$smarty->assign("shuzu2",$attr2);
$r = new Ren();
$smarty->assign("ren",$r);//注册对象
$smarty->assign("test","this is a demo");
$smarty->assign("money",100);
$smarty->assign("biaoti","fdafdafdsagdasfdasgdafdsagdagds");
$smarty->assign("bs",1)
class Ren
{
public $name ='张三';
}
$smarty->display(test.html);
test.html
<body> <h1><{$shuzu[0]}></h1> //取索引数组
<h1><{$shuzu2.a}></h1>//取关联数组 .key
<h1><{$ren->name}></h1> //取对象
<{config_load file='配置文件名.conf' section='bb'}> //加载配置文件,section 获取某个块
<div style="width:200px; height:200px;background-color:<{#bg#}>;font-size:<{#size#}>px">测试配置</div> //<{#配置名#}> 或 <{$smarty.config.bg}> 保留变量
<{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}> //去当前时间 返回时间戳 date_format 格式化字符串
<{$test|capitalisze}> //变量调节器格式 变量名|调节器名 capitalize 首字母大写
<{$money|cat:"¥"}> //变量名:参数 cat 连接字符串
<{$test|mark}> //调用自定义变量
<{$biaoti|substr:10}> //调用截取字符串自定义方法
//使用if else 注意闭合
<{if $bs==1}>
<div>111111</div>
<{else}>
<div>222222</div>
<{/if}>
//foreach遍历数组
<div>
<{foreach $shuzu as $k=>$v}>
<div><{$k}><{$v}></div>
<{$v@index}> //取数组的索引
<{$v@iteration}> //取迭代次数(循环顺序)
<{$v@first}> //判断哪一个是第一个数据
<{/foreach}>
</div>
</body>
配置文件
[aa] //块 bg=red size=24 [bb] //块 bg=yellow size=36
自定义变量调节器 以modifier开头
在自定义的插件目录下新建文件 命名 modifier.自定义文件名.php 注意命名规则
<?php function smarty_modifier_mark($str) //至少有一个参数,代表变量本身 注意命名规则 { return "<mark>{$str}</mark>" }
modifier.substr.php
<?php function smarty_modifier_substr($str,$n) //$n 代表长度 { $str = substr($str,0,$n-3); return $str."..."; }