Smarty基础

smarty将php代码和HTML代码分开,形成两个页面,通过在php页面引用smarty配置文件,利用php控制HTML页面显示

1,libs文件夹,放入需要使用的文件夹下面

2,配置文件:init.inc.php,放入需要使用的文件夹

(init.inc.php 和 libs文件夹,在同级目录下面)

init.inc.php

 1 <?php
 2 
 3 define("ROOT",str_replace("\","/",dirname(__FILE__)).'/'); //常量ROOT中指定项目根目录
 4 
 5 //echo str_replace("\","/",dirname(__FILE__))."/";
 6 
 7 require ROOT.'libs/Smarty.class.php'; //加载Smarty类文件
 8 
 9 $smarty = new Smarty(); //实例化Smarty对象<br>
10 
11 
12 //$smarty -> auto_literal = false; //就可以让定界符号使用空格
13 $smarty->setTemplateDir(ROOT.'templates/'); //设置所有模板文件存放位置
14 //$smarty->addTemplateDir(ROOT.'templates2/'); //添加一个模板文件夹
15 $smarty->setCompileDir(ROOT.'templates_c/'); //设置编译过的模板存放的目录
16 $smarty->addPluginsDir(ROOT.'plugins/'); //设置为模板扩充插件存放目录
17 $smarty->setCacheDir(ROOT.'cache/'); //设置缓存文件存放目录
18 $smarty->setConfigDir(ROOT.'configs/'); //设置模板配置文件存放目录
19 
20 $smarty->caching = false; //设置Smarty缓存开关功能
21 $smarty->cache_lifetime = 60*60*24; //设置缓存模板有效时间一天
22 $smarty->left_delimiter = '<{'; //设置模板语言中的左结束符
23 $smarty->right_delimiter = '}>'; //设置模板语言中的右结束符
24 
25 
26 ?>

例子:

main.php:

1 <?php
2 include("../init.inc.php");
3 $name = "张三";//字符串
4 $attr = array("shi"=>"淄博", "ming"=>"李密" );//关联数组
5 
6 $smarty->assign("name",$name);//添加
7 $smarty->assign("xx",$attr);
8 
9 $smarty->display("main.html");//显示

main.html

<html>
<head>
<meta charset="utf-8" />  //字符转义,转为utf-8格式
</head>
<body>
<h1>主页面</h1>
<div style="color:red">登陆者是:<{$name}></div>
<div>详细信息:<{$xx['shi']}>&nbsp;<{$xx['ming']}></div>
</body>
</html>

 

原文地址:https://www.cnblogs.com/wanlibingfeng/p/5560197.html