Smarty的引入
Smarty是一个类, 引入过程与普通的类没有区别
1:include,require包含此文件
2:实例化
Smarty的配置
$template_dir = 'templates'; // 模板文件的所在目录
$compile_dir = 'templates_c'; // 编译后的文件所在目录
$config_dir = 'configs'; // 允许独立的配置文件存在,并且配置文件如果多了,允许单独放在一个目录里,
$cache_dir = 'cache' // 代表缓存文件的存放目录
plugins_dir = array('plugins','p2','p3'); // 插件目录(如果自行开发插件,可能会用到)
left_delimiter = '{'; // 标签的左分界符
Right_delimiter = '}' // 标签的右分界符
Caching = 0/1/2 // 是否开启缓存
cache_lifetime = 3600 秒 // 缓存生命周期
Smarty的赋值
1: $smarty->assign('key',value);
发生的变化$smarty->_tpl_vars[key] = value;
2: 如果assign($arr)中的第一个参数是数组
则会循环数组,把数组的每一个单元追加到_tpl_vars属性上
3:append追加赋值
如果需要把多个值,赋给同一个标签变量, 不必把多个值形成数组然后赋值,
可以通过append,往一个标签反复追加值.
例:
$smarty->append('goods','自行车');
$smarty->append('goods','火车');
此时: 推论 $smarty->_tpl_vars['goods'] = array(自行车,火车);
如果append进去的值是数组,并且第3个merge参数为true,则会把数组单元逐个添加到goods数组里去.
$smarty->append('goods',array('name'=>'刘备','age'=>28),true);
此时, $smarty->_tpl_vars['goods'] = array(自行车,火车,'name'=>'刘备','age'=>28);
如果是$smarty->append('goods',array('name'=>'刘备','age'=>28),false);