Smarty基本配置和模板变量

原创 2018-12-26 09:41:14 320
摘要:Smarty 基本配置 1、配置目录:必选 $smarty->setTemplateDir(__DIR__ . '/../temp')   模板目录 $smarty->setCompileDir(__DIR__ . '/../temp_c')   编译目录 $smarty->setCacheDi

Smarty 基本配置

1、配置目录:必选

$smarty->setTemplateDir(__DIR__ . '/../temp')   模板目录

$smarty->setCompileDir(__DIR__ . '/../temp_c')   编译目录

$smarty->setCacheDir(__DIR__ . '/../cache')   缓存目录

$smarty->setConfigDir(__DIR__ . '/../config')   配置目录

2、配置定界符:可选

$smarty->setLeftDelimiter('{')   变量左定界符

$smarty->setRightDelimiter('}')   变量右定界符

3、配置缓存:可选

$smarty->setCaching(false)   关闭缓存

$smarty->setCacheLifetime(60*60*24)   缓存有效时间

Smarty 模板变量

1、模板赋值: $smarty->assign('模板变量名',变量);

2、模板渲染: $smarty->display('模板文件');

//	引入smarty文件
require("libs/Smarty.class.php");

//	实例化
$smarty = new Smarty;

//	是否使用缓存
$smarty->setCaching(false);
$smarty->setCacheLifetime(60*60*24);

//模板目录
$smarty->setTemplateDir(__DIR__ . '/../char9/temp');

//编译目录,保存编译后的tpl的地方
$smarty->setCompileDir(__DIR__ . '/../char9/temp_c');

//外部配置文件目录
$smarty->setConfigDir(__DIR__ . '/../char9/config');

//缓存文件目录
$smarty->setCacheDir(__DIR__ . '/../char9/cache');

//配置分隔符,默认的分隔符是{}
$smarty->setLeftDelimiter('<{');
$smarty->setRightDelimiter('}>');
//	导入配置文件
require("zuoye1.php");

// 1 显示单值变量
$name = '小龙女';

// 2 数组: 索引
$courses = ['html5','jQuery','javascript','php','MySQL'];

// 3 数组: 关联
$book = ['name'=>'PHP开发从入门到放弃','price'=>99,'publish'=>'2018-10-22'];

// 4 多维数组
$books[0] = ['name'=>'PHP开发从入门到放弃','price'=>99,'publish'=>'2018-10-22'];
$books[1] = ['name'=>'MySQL开发','price'=>69,'publish'=>'2018-12-14'];
$books[2] = ['name'=>'WEB前端','price'=>59,'publish'=>'2018-09-05'];

// 5 对象
class Test
{
	public $site = 'PHP中文网';
	public function welcome()
	{
		return '欢迎来到' . $this->site;
	}
}
$test = new Test();

// 6 自定义函数
function add($a, $b){
	return $a + $b;
}

// 7 常量
const SITE_NAME = 'PHP中文网, 海量资源';

// 8 系统常量
$_POST['user_name'] = '超级管理员';
$_GET['page'] = 10;
$_SESSION['pass'] = sha1('123456');

$smarty->assign('name',$name);

$smarty->assign('courses',$courses);

$smarty->assign('book',$book);

$smarty->assign('books',$books);

$smarty->assign('test',$test);

$smarty->display('demo2.html');
<{* 注释: 显示变量 *}>
<h3>我的梦中情人: <{$name}></h3>

<{* 注释: 显示索引数组 *}>
<p>前端课程: <{$courses['0']}>,<{$courses['1']}>,<{$courses['2']}></p>

<{* 注释: 显示关联数组 *}>
<p>书名: 《<{$book.name}>》,价格: <{$book.price}>,出版时间: <{$book.publish}></p>

<{* 注释: 显示多维数组 *}>
<ul>
	<li>书名: 《<{$books.0.name}>》,价格: <{$books.0.price}>,出版时间: <{$books.0.publish}></li>
	<li>书名: 《<{$books.1.name}>》,价格: <{$books.1.price}>,出版时间: <{$books.1.publish}></li>
	<li>书名: 《<{$books.2.name}>》,价格: <{$books.2.price}>,出版时间: <{$books.2.publish}></li>
</ul>

<{* 注释: 显示对象成员 *}>
<p>站点名称: <{$test->site}></p>
<h3><{$test->welcome()}></h3>

<{* 注释: 访问自定义函数 *}>
<p>求和: <{add(40, 50)}></p>
<p>求和: <{add($books.1.price, 50)}></p>

<{* 注释: 显示常量 *}>
<p>站点常量: <{$smarty.const.SITE_NAME}></p>

<{* 注释: 显示系统常量 *}>
<p>POST提交的用户名: <{$smarty.post.user_name}></p>
<p>GET提交的数据: <{$smarty.get.page}></p>
<p>SESSION会话中的密码: <{$smarty.session.pass}></p>

<{* 注释: 读取配置文件 *}>
<{config_load file = "app.conf"}>
<h3>应用名称: <{$smarty.config.app_name}></h3>
<h3>应用名称: <{$smarty.config.page_title}></h3>


批改老师:韦小宝批改时间:2018-12-26 09:54:50
老师总结:总结的很棒啊!很完整!代码写的也很有条例!继续加油吧!骚年!

发布手记

热门词条