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="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."...";
}
原文地址:https://www.cnblogs.com/yifangtongxing/p/5495228.html