Smarty的基础语法
1. 定界符
Smarty默认的定界符是“{”、“}”
Smarty定界符就好像PHP标记“<?php” 和“?>”,它是标记Smarty模板语法开始及结束的符号。
在一些特殊情况下,使用Smarty默认的定界符可能会出现无法解析的情况,可能是由于视图文件中混合了javascript代码,js代码中同样使用“{”和“}”,因此在解析的过程中会出错。
要解决这个问题,可以通过修改Smarty对象的left_delimiter和right_delimiter属性
2. 注释符“{* *}”
Smarty中提供的一种注释方式,那就是“{**}”
3. 变量分配
变量分配是通过assign()方法实现的,该方法的作用是将某个变量或值以名/值的方式分配给视图页面,语法格式如下:
$Smarty->assign(string $varname, mixed $var);
其中 S m a r t y 是 S m a r t y 实 例 化 的 对 象 , a s s i g n 为 方 法 名 。 参 数 Smarty是Smarty实例化的对象,assign为方法名。参数 Smarty是Smarty实例化的对象,assign为方法名。参数varname是要传递的值的名称,即是视图中的变量名,$var是要传递的值,这个值可以是字符串也可以是一维数组或二维数组。
4.载入视图
要想正常显示数据仅仅靠分配变量是无法实现的,还需要使用display()方法显示具体数据,其基本语法格式如下:
$Smarty->display(string $template, string $cache_id, string $compile_id);
其中参数template是display()方法的主要参数,表示要显示的视图的路径,关于cache_id和compile_id会在后面说明
5.显示变量
在视图文件中显示变量,其语法格式如下:
{$variable}
其中variable为assign()方法设置的变量名
注意:
定界符“{”之后一定要紧跟“$”符号,否则将无法解析。如果变量是一个数组,则获取数组元素有两种语法格式:
① 与PHP类似使用“[键名]”,如$arr[‘key1’][‘key2’]。
② 将键名使用“.”符号连接,如$arr.key1.key2。
6.保留变量
在Smarty中有些变量无需使用assign()方法传值,可以在视图中直接使用,该类变量被称为保留变量。Smarty中常用的保留变量如下表所示。