init.smarty.php
<?php
define("ROOT", ".");
//解决问题:Warning: strftime() [function.strftime]:
date_default_timezone_set("Asia/Shanghai");
include ROOT."/libs/Smarty.class.php";
$tpl = new Smarty();
//smarty初始化
$tpl->template_dir=ROOT."/templates/";
$tpl->compile_dir=ROOT."/templates_c/";
//配置文件位置
$tpl->config_dir=ROOT."/configs/";
$tpl->left_delimiter="<!--{";
$tpl->right_delimiter="}-->";
?>
mysmarty.php
<?php
/**
*
* 以下所有使用变量都要基于设定的前缀和后缀
*
* 一:模板中的注释
* 1.<!-- -->
* 查看源码可以看到
* 2.<!--{* *}-->
* smarty的注释,源文件和编译后的文件中也是看不到的
* 二:smarty中使用变量
* 1.从php中分配给模板变量
* 动态的数据(php从数据库或者文件,以及算法生成的变量)
* 任何类型 的数据都可以从php分配过来
* 标量:string,int,double,boolean
* 复合:array object NULL
* 关联数组:不是使用[i]而是使用.来访问
*
* 2.在配置文件中给模板变量
* 模板的外观(界面)设计的变量
* 需要指定目录:
* $tpl->config_dir=ROOT."./configs/";
* 创建文件view.conf(存放键值对形式)
* 模板页面需要导入配置文件
* <!--{config_load file="view.conf"}-->
* 使用<!--{#name#}-->(#必须紧挨着前缀和后缀)
* 使用<!--{$smarty.config.name}-->(#必须紧挨着前缀和后缀)
* 设定使用某个域的配置信息:
* [one]aa=11111
* [two]cc=22222
* [three]dd=33333
* <!--{config_load file="view.conf" section="one"}-->
* 3.模板中存在的保留变量
* php全局数组:
* $_GET
* $_POST
* $_SESSION
* $_COOKIE
* $_REQUEST
* $_SERVER
* $_ENV
* $_FILES
* $GLOBALS define("ROOT", ".");
* smarty一些常用的变量,模板中自带的
* <!--{$smarty.get.*}-->
* <!--{$smarty.post.*}-->
* <!--{$smarty.cookie.*}-->
* <!--{$smarty.session.*}-->
* <!--{$smarty.env.*}-->
* <!--{$smarty.server.*}-->
* <!--{$smarty.request.*}-->
* 使用常量
* <!--{$smarty.const.*}-->
* <!--{$smarty.const.__FILE__}-->
* <!--{$smarty.const.ROOT}-->
* <!--{$smarty.now}-->
* <!--{$smarty.now|date_format:"&Y-&m-&d &M:&M:&S"}-->
*
*/
//如果文件加载失败require会停止继续解析php;而include则会继续向下执行
require 'init.smarty.php';
$title="这是一个文字标题";
$mysqli = new mysqli("localhost","root","root","hibernate");
$result = $mysqli->query("select id,name,price from users");
$row = $result->fetch_assoc();
$name = $row["name"];
$_SESSION["username"]="devilzy";
class Person{
var $name;
var $age;
function __construct($name,$age){
$this->age = $age;
$this->name = $name;
}
function say(){
return $this->name."=".$this->age;
}
}
$tpl->assign("title",$title);
$tpl->assign("name",$name);
$tpl->assign("array1",array("第一个","第二个","第三个"));
$tpl->assign("array2",array("one"=>"关联第一个","two"=>"关联第二个"));
$tpl->assign("array3",array("one"=>array("two"=>"我是二维数组")));
$tpl->assign("person",new Person("张三", 10));
$tpl->assign("num1",10);
$tpl->assign("num2",20);
$tpl->assign("page",$_GET["page"]);
//模板文件名可以随便定义:比如:mysmarty.tpl只有内容是html就可以了
$tpl->display("mysmarty.html");
?>
mysmarty.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!--{config_load file="view.conf" section="one"}-->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><!--{$title}--></title>
</head>
<body>
<!-- 普通 -->
<!--{$name}-->
<!-- 数组 -->
<!--{$array1[0]}-->
<!--{$array1[1]}-->
<!--{$array1[2]}-->
<!-- 关联数组 -->
<!--{$array2.one}-->
<!--{$array2.two}-->
<!-- 二维数组 -->
<!--{$array3.one.two}-->
<!-- 对象 -->
<!--{$person->name}-->
<!--{$person->age}-->
<!--{$person->say()}-->
<!-- 数学运算 -->
<!--{$num1}-->
<!--{$num2}-->
<!--{$num1+$num2*$num2-$num2}-->
<br>
<!--{$page}-->
<!--{$smarty.get.page}-->
<!--{$smarty.session.username}-->
<!--{* 就和php中的$_GET["page"] *}-->
<!--{$smarty.const.ROOT}-->
<!--{$smarty.now}-->
<!--{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}-->
<br>
执行的文件:<!--{$smarty.const.__FILE__}-->
<br>
访问的脚本文件:<!--{$smarty.server.SCRIPT_FILENAME}-->
<br>
<!-- 配置文件 -->
<!--{#aa#}-->
<!--{#bb#}-->
<!--{#cc#}-->
<!--{#dd#}-->
<table border="<!--{$smarty.config.boder}-->" width="<!--{#tabwidth#}-->" bordercolor="<!--{#tabboder#}-->">
<tr bgcolor="<!--{#tgcor#}-->">
<td>qqqq</td>
<td>qqqq</td>
<td>qqqq</td>
</tr>
<tr>
<td>qqqq</td>
<td>qqqq</td>
<td>qqqq</td>
</tr>
<tr>
<td>qqqq</td>
<td>qqqq</td>
<td>qqqq</td>
</tr>
</table>
</body>
</html>
configs/view.conf
boder=10
tabwidth=800
tabboder=red
tgcor=yellow
[one]
aa=11111
bb=33
[two]
cc=22222
[three]
dd=33333
分享到:
相关推荐
Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一。Smarty分离了逻辑代码和外在的内容,提供一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。Smarty工作的目的是要...
本文档是关于SMARTY的笔记,知识点归纳的很全,是在听了达内的老师和兄弟连的老师之后才整理出来的,相信通过该份笔记,学习smarty引擎可以不用再需要其他的笔记。 配有知识点总结 学习过程中写的案例 学习心得 一...
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是...
php开发所需的smarty模板,按照使用要求,可以直接在开发中使用。
PHP Smarty简体中文参考手册(让你更快速掌握PHP Smarty模板引擎,门户型网站常用技术)
2. 编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的...
主要介绍了smarty模板引擎中变量及变量修饰器用法,实例分析了smarty模板引擎中常见变量、变量修饰器及常量的具体用法,需要的朋友可以参考下
php Smarty
Smarty模板中的for循环,新建plugins文件,简化代码!
linux+php+smarty模板的例子.zip PHP Web Development在Linux环境中配置(Smarty)
1、什么是Smarty变量操作符? 2、如何使用Smarty变量操作符 3、介绍常用的20个变量符
smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分 离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响...
phpSmarty模板中文手册, Smarty For Template Designers [模板设计者篇] Smarty For Programmers [程序员篇]
主要介绍了PHP模板引擎Smarty中的保留变量用法,较为详细的分析说明了Smarty中的保留变量的功能与具体使用方法,需要的朋友可以参考下
Smarty是一个使用PHP写出来的PHP模板引擎,目的是要使用PHP程序同美工分离,使的程序员改变程序的逻辑内容时不会影响到美工的页面设计,美工重新修改页面时不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为...
PHP Smarty 模板引擎的应用开发
主要介绍了PHP模板引擎Smarty中变量的使用方法,详细讲述了Smarty模板的原理,下载,配置方法与变量的使用技巧,需要的朋友可以参考下
smarty模板,是最新的模板,其中可以实现php程序设计的一部分思想
Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,...