smarty 是表现与代码相互分离的一个引擎,将 html 代码与 php代码相互分离;初步实现mvc设计理念;
通过1个HTML页面 展示出多个不同页面的效果;
引用官方 smarty
(1)讲smarty解压后libs文件夹,拷贝到站点下,(可以讲libs改名为smarty)
(2)在PHP页面上引入 requrie './smarty/Smarty.class.php';
将smarty的核心代码 文件夹 拷贝到站点下即可。
Smarty.class.php
templates: 默认存放模板文件夹 || 存放 html 文件
templates_c:默认存放混编文件的文件夹
cache:存放缓存
configs:存放配置文件 ||存放conf文件
//默认定界符为{} 在HTML 引用
$smarty->left_delimiter="{*"
$smarty->right_delimiter="*}"
设定左右定界符 将原先的 { } 换成 "{*" || "*}"
{* 注释*} smarty 注释 在网页源码查看中 不显示;
变量
普通变量
声明变量方法:
取值
在body体中 输入{$name}
保留变量
在smarty中特殊的变量 smarty 这个是保留变量;用来访问用户请求的信息,系统环境变量,常量等。
1、获得get post 的数值 在在html页面中 添加 {$smarty.get.name} 用来显示get值 ;post 同理 $_GET $_POST
2、万能获得值得方法,不管前面用 get 还是post 使用{$smarty.request.name} 来获取 ;$_request
3、获取对话
php中 定义一个对话 $_SESSION['country']='中国';
html 中 {$smarty.session.country}
4、获取cookie
php中 定义一个对话 setcookie('zxc','123');
html 中 {$smarty.cookies.zxc}
5、显示常量
php中 定义一个对话 define('π','3.14159');
html 中 {$smarty.const.π}
6、取出服务器信息 服务器IP地址
{$smarty.server.REMOTE_ADDR}
7、取出当前时间戳
{$smarty.now}
{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}当前时间<br />
如果显示当前时间与电脑时间不一致
9、其他的一些变量
{$smarty.version} smarty 版本
{$smarty.ldelim} smarty 左定界符
{$smarty.rdelim}smarty 右定界符
配置变量
1、在站点下新建configs文件夹,在文件夹中新建smarty.conf文件,代码如下:
2、在HTML页面中导入
使用{##} 进行导入
扩展:
可以用css 样式进行使用配置变量 在css 样式表中 在hand当中进行添加CSS 在css 外部使用<literal></literal>进行包含,原因为smarty 将第一个{ 进行解析 在literal中 将不解析定界符。
3、配置文件中的章节
章节名 style1 可以自定义
数组
smarty 对数组的访问
1.数组[下标]
2.数组.下标