《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" [section=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 %}
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()函数式一样的。