一、smarty框架的使用步骤
1.下载smarty,并将此文件夹放在所需的目录下
2.引入Smarty.class.php(注意大小写)
3.定义smarty所使用的文件目录,并且实例化对象
4.指定模板文件所在的路经
5.指定模板编译后的文件所在路经
6.向模板传递变量
7.指定模板文件显示
二、引入smarty的方法
1、Include/include_once
2、Require/require_once
三、他们之间的区别
1、include如果引入的文件不存在,试图继续往下执行,报一个warning
require如果引入的文件不存在,报false error不再执行
2、有的文件不允许被包含多次,可以用once来控制
但是,如果文件的设计上,比较规范,能保证肯定不会出现多次包含的错误,建议使用include
3、include的检查是否被包含的效率比include_once高
四、举个例子吧:
将本地myschool数据库中student表中的数据进行输出
1、编写smarty的配置
<?php
//文件的引入
include './smarty-3.1.30/libs/Smarty.class.php';
//定义smarty所使用的文件目录
define('SMARTY_ROOT','./');
//实例化对象
$smarty = new Smarty();
//指定模板文件所在的路径
$smarty->template_dir = SMARTY_ROOT . '/template';
//模板编译后存储的位置
$smarty->compile_dir = SMARTY_ROOT . '/template_c';
2、获取数据库中的信息
<?php
include 'smarty_config.php';
$conn=@new mysqli("localhost",'root','','myschool');
if($conn->connect_error){
die('数据库连接失败');
}
$conn->set_charset('utf8');
$sql = "select * from student";
$res = $conn->query($sql);
$arr=[];
while($row=$res->fetch_assoc()){
$data[]=$row;
}
$conn->close();
// print_r($data);
// exit;
//向模板传递变量
$smarty->assign('title','学生信息');
$smarty->assign('data',$data);
//指定模板文件显示
$smarty->display('deom.tpl');
3.编写模板(html或tpl),实现数据的传递(必须写在模板文件夹下)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{$title}</title>
</head>
<body>
<table border="1">
<tr>
<td>ID</td>
<td>学号</td>
<td>姓名</td>
<td>性别</td>
<td>年龄</td>
</tr>
{foreach $data as $row}
<tr>
<td>{$row.id}</td>
<td>{$row.no}</td>
<td>{$row.name}</td>
<td>{$row.sex}</td>
<td>{$row.age}</td>
</tr>
{/foreach}
</table>
</body>
</html>
这样就可以实现了很简单吧!!!!