详细说明:
《php开发典型模块大全》读书笔记 第四章 smarty (张迅雷闪击PHP系列) 下载地址 http://www.smarty.net/download 测试使用的是Smarty-2.6.26\libs 公用的smarty类库和相关信息,将smarty放在服务器根目录下,配置信息写在一个文件中,用的时候include下配置文件。 smarty的变量有以下三部分: a 来自php页面中的变量,即assign()方法传过来的变量; 在tpl模板中获取数组的值,两个方法 $arr[0] / 或者 $arr.name b 保留变量,相当于php中的预定义变量 get post server Session Cookie request ;now;const;config {%* 注释 *%} 使用“#”,将变量名置于两个"#"中,就可以像普通变量一样调用配置文件内容了。 保留变量同时调用,在tpl文件中加载配置文件 {% config_load file="04/04.conf" %} {% config_load file="04/04.conf" [se ction=section scope=local|parent|global] %} variable modifers 修饰变量 {% variable_name|modifer_name:parameter1:.... %} 内置函数: config_load foreach 使用foreach语句循环输出数组。 {% foreach key=key item=item from=$infobook %} {% $key %} => {% $item %}
{% /foreach %} include {% include file='08/table.tpl' name='编程词典网' value='htt://www.mrbccd.com1' %} insert 用法与include相似,两者的区别是:使用insert函数载入的内容部会被缓存,每次开启页面都会重新被执行。 {% if $smarty.get.type == 'mr' %} 欢迎光临,{% $smarty.get.type %} {% else %} 对不起,您不是本站VIP,无权访问此栏目。 {% /if %} section循环可以处理比较复杂的数组 {% section name=sec1 loop=$obj %}
{% $obj[sec1].bigclass %} |
{% section name=sec2 loop=$obj[sec1].smallclass %}
| {% $obj[sec1].smallclass[sec2].s_type %} |
{% /section %} {% /section %} void append() 向数组中追加元素 void clear_all_assign() 清楚所有模板中的赋值 void clear_assign(string var)清除乙肝制定的赋值 void config_load()加载配置文件 string fetch(string template) 返回模板的输出内容,但不直接显示出来; array get_config_vars()返回指定配置变量的值,如果没有参数,则返回一个所有配置变量的数组; array get_template_vars()返回指定模板变量的值,如果没有参数,则返回一个所有模板变量的数组; bool template_exists(string template) 检测制定的模板是否存在 缓存默认是3600秒,即1小时。 addslashes() 在操作数据库时,对其中的特殊字符进行自动转义,即在特殊字符前加反斜杠,包括单引号‘ 双引号“ NULL,但是不包括% 和_ 另外还可以 mysql_real_escape_string()来进行转义,效果和addslashes()函数式一样的。 ...展开收缩