php之smarty框架

本文介绍了PHP的Smarty框架的使用步骤,包括下载并放置文件、引入类库、实例化对象、设置模板路径、传递变量及显示模板。还讨论了Smarty的引入方式,如include与require的区别,并提供了一个示例,展示如何从数据库获取数据并用Smarty模板显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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>

    这样就可以实现了很简单吧!!!! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值