返回smarty模......登陆

smarty模板引擎学习练习

为梦兼程2019-04-03 16:45:48279
第一步,加载smarty。require __DIR__ . '/config/config.php';
第二步,模版赋值。
第三步,模版渲染。
案例代码如下:
<?php
//开启session
session_start();
//加载smarty
require __DIR__ . '/config/config.php';

//1.显示单值变量
$name = '小龙女';
//模版赋值
$smarty->assign('name',$name);

//2.索引数组
$courses = ['html5','css3','php'];
//模版赋值
$smarty->assign('courses',$courses);

//3.关联数组
$books = ['name'=>'PHP入门精讲','price'=>89,'publish'=>'2019-4-9'];
//模版赋值
$smarty->assign('books',$books);

//4.多维数组
$books[] = ['name'=>'PHP入门精讲','price'=>89,'publish'=>'2019-4-9'];
$books[] = ['name'=>'MYSQL入门精讲','price'=>69,'publish'=>'2018-4-9'];
$books[] = ['name'=>'JAVA入门精讲','price'=>109,'publish'=>'2015-4-9'];
//模版赋值
$smarty->assign('books',$books);

//5.对象
$test =new stdClass();
$test->site = 'php学习';
$smarty->assign('test',$test);

//对象属性学习
class Test2
{
	public $site = "学习thinkphp";
	public function welcome()
	{
			return '我想:'.$this->site;
	}
}
$test2 = new Test2();
$smarty->assign('test2',$test2);

//6.自定义求和函数
function add($a,$b)
{
	return $a+$b;
}
//7.常量,不需要赋值,可直接输出
const SITE_NAME = 'php开发学习';
//8.系统变量
$_POST['user_name'] = '超级管理员';
$_GET['page'] = '第十页';
$_SESSION['pass'] = sha1('863456');

//9.访问配置文件
模板文件代码如下:
{*1.注释:显示变量*}
姓名:{$name}
<hr>
{*2.注释:显示索引数组*}
<p>课程{$courses[0]},{$courses[1]},{$courses[2]}</p>
<p>课程{$courses['0']},{$courses['1']},{$courses['2']}</p>
<p>课程{$courses.0},{$courses.1},{$courses.2}</p>
<hr>

{*3.显示关联数组*}
<p>书名:《{$books.name}》,价格:¥{$books.price}元,出版时间:{$books.publish}</p>
<hr>
{*3.显示多维数组*}
<ul>
<li>第一本书名:《{$books.0.name}》,价格:¥{$books.0.price}元,出版时间:{$books.0.publish}</li>
<li>第三本书名:《{$books.2.name}》,价格:¥{$books.2.price}元,出版时间:{$books.2.publish}</li>
<ul>
<hr>
{*显示对象中的成员*}
<p>对象成员名称显示:{$test->site}</p>
<hr>
{*对象方法显示*}
对象方法:{$test2->welcome()}
<hr>

{*访问自定义函数*}
求和:{add(60,40)}
引入参数:{add($books.0.price,$books.2.price)}
<hr>
{*显示常量*}
常量:{$smarty.const.SITE_NAME}
<hr>
{*显示系统变量*}
POST用户名:{$smarty.post.user_name}
<br />
get提交数据:{$smarty.get.page}
<br />
session会话密码:{$smarty.session.pass}
<br />

{*读取配置文件*}
{config_load file="app.conf"} 
应用名称:{$smarty.config.app_name}
数据库密码:{$smarty.config.database.user_pass}


//模版渲染
$smarty->display('demo3.html');

老师,练习中的疑问是:配置文件app.conf中的比如:host_name,db_name等如何读取?我用{$smarty.config.host_name}输出不显示?谢谢!

最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送