发布于 2015-03-01 22:57:06 | 121 次阅读 | 评论: 0 | 来源: 网友投递
Smarty模板引擎
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。
本文实例讲述了smarty中post用法。分享给大家供大家参考。具体分析如下:
知道了smarty的运行原理之后,就想写个post的实现过程,以下是实现post的代码,跟独自写php代码差不多,只是多了显示文件
配置文件:conf.php
<?php
@header("Content-type: text/html; charset=UTF-8");
require '../libs/Smarty.class.php';
$my=new Smarty;
$my->template_dir ='templates/';
$my->compile_dir ='templates_c/';
$my->config_dir ='configs/';
$my->cache_dir ='cache/';
?>
index.php
<?php
include 'conf.php';
$my->assign('content','welcome to arrival');
$my->assign('mylife',array("生活","吃饭","梦想","凉风","报仇","fuck someone","fuck you die"));
$my->display('kk.html');
?>
template下的kk.html【index.php的显示文件】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
{$content}
{section name=truelife loop=$mylife}
{$mylife[truelife]}
{/section}
<p>{html_select_time use_24_hours=true} </p>
<form id="form1" name="form1" method="post" action="submit.php">
<p>
<label for="conteng"></label>
<input type="text" name="conteng" id="conteng" />
</p>
<p>
<label for="ct"></label>
<textarea name="ct" id="ct" cols="45" rows="5"></textarea>
</p>
<input type="submit" name="submit" id="submit" value="提交" />
</form>
<p> </p>
</body>
</html>
submit.php
<?php
include 'conf.php';
$kk=$_POST['conteng'];
$ct=$_POST['ct'];
$sm=new Smarty();
$sm->assign('content',$kk);
$k=explode("rn",$ct); //将字符分隔为数组
$sm->assign('ml',$k);
$sm->display('m.tpl');
?>
template下的m.tpl文件【submit.php的显示文件】
{$content}
{section name=kk loop=$ml}
{$ml[kk]}<br />
{/section}