phplib template

phplib有五大功能:将数据库驱动和对数据库操作完全分离;支持session;权限许可;模板;购物 车

说明:
1.第一个简单的模板页
first.html
模板中的{man}{author}{date}可以称为模板变量
源码说明:
first.php
<?php
include ('./php/template.inc'); //包含进模板类 template.inc
$tpl = new Template; //创建一个新模板
$tpl->set_file('main', 'first.html'); //把模板文件加载进来
$tpl->set_var('man', 'fuyatao'); // //给文件中的模板变量赋值
$tpl->set_var('author', 'fuyatao');
$tpl->parse('mains', 'main'); // //完成替换
$tpl->p('mains'); // //输出替换的结果
/*
$tpl->set_var(
array('man'=>'fuyatao', 'author'=>'fuyatao')
);
*/
?>
----
first.html
{man}
<br>
=================
<br>
{author}
----------------------------------------------------------------
2.复杂一点,取得数据库中的数据
second.php
<?php
include ('./php/template.inc');
$tpl = new Template;
$tpl->set_file('main', 'second.html');
$tpl->set_block('main', 'list', 'nlist');
$link=mysql_connect('localhost','root','root');
mysql_select_db('cheyigou',$link);
$result=mysql_query("select * from detail");
while ( $a = mysql_fetch_array($result))
{
$tpl->set_var('name', $a['name']);
$tpl->set_var('tall', $a['tall']);
$tpl->parse('nlist','list',true);
}

$tpl->parse('mains', 'main');
$tpl->p('mains', 'main');
?>
----
second.html
<HTML>
<HEAD>
<TITLE>second file </TITLE>
</HEAD> <BODY>
sfgsgsdgd

<UL>
<!-- BEGIN list -->
{name} gdhrh {tall}<br>
<!-- END list -->
</UL>

</BODY>
</HTML>
3.
模板嵌套

在写PHP页面的时候,我们会发现像页面头部分和尾部分,有好多页都要用,每页写一遍就太麻烦了,这些”公用代码”我们可以把它单独写在一个文件里,如果 这个公用部分要有所改动,无需再去改每一个页面,能减少非常多的工作量。用Template模板可以很方便的把一个页面随意插入另一个模板的任意地方。
新建3个文件third.htm、header.htm、footer.htm,内容分为如下
third.htm
<!– 这是页面头部 –>
{header}
<BODY>
下面是一个列表
<UL>
<!– BEGIN list –>
<li>{name} 的身高是 {tall}
<!– END list –>
</UL>
<!– 这是页脚部分 –>
{footer}
</BODY>
</HTML>

header.htm
<HTML>
<HEAD>
<TITLE> {title} </TITLE>
</HEAD>

footer.htm
<P>author &copy; fuyatao

下面我们开始我们的PHP程序:
<?php
include ('template.inc');
$tpl = new Template;
$tpl->set_file('main', 'third.htm');
$tpl->set_file('my_header', 'header.htm');
$tpl->set_file('my_footer', 'footer.htm');
$tpl->set_var('title', '这个是网页标题');
$tpl->set_block('main', 'list', 'nlist');

$link=mysql_connect('localhost','root','root');
mysql_select_db('cheyigou',$link);
mysql_query("set names gbk");
$result=mysql_query("select * from detail");
while ( $a = mysql_fetch_array($result))
{
$tpl->set_var('name',$a[name]);
$tpl->set_var('tall',$a[tall]);
$tpl->parse('nlist', 'list', true);
}
$tpl->parse('header', 'my_header');
$tpl->parse(footer, my_footer);
$tpl->parse('mains', 'main');
$tpl->p('mains');
?>

phplib template说明的更多相关文章

  1. php我们需要把握面试题目金鸡基础

    1.session与cookie差分? 答:session:储存用户訪问的全局唯一变量,存储在server上的php指定的文件夹中的(session_dir)的位置进行的存放 cookie:用来存储连 ...

  2. PHP技术知识点整理

    1.解释mvc (1)mvc即 模型model,视图view,控制器controller:是一种模型,是一种编程思想,就是把一个应用的输入.输出.数据处理分开,分解耦合(2)A..视图,数据采集和处理 ...

  3. 为.NET Core项目定义Item Template

    作为这个星球上最强大的IDE,Visual Studio不仅仅提供了很多原生的特性,更重要的是它是一个可定制的IDE,比如自定义Project Template和Item Template就是一个非常 ...

  4. jQuery.template.js 简单使用

    之前看了一篇文章<我们为什么要尝试前后端分离>,深有同感,并有了下面的评论: 我最近也和前端同事在讨论这个问题,比如有时候前端写好页面给后端了,然后后端把这些页面拆分成很多的 views, ...

  5. 2000条你应知的WPF小姿势 基础篇<69-73 WPF Freeze机制和Template>

    在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C# 和 2,00 ...

  6. tornado template

    若果使用Tornado进行web开发可能会用到模板功能,页面继承,嵌套... 多页应用模板的处理多半依赖后端(SPA就可以动态加载局部视图),就算是RESTfull的API设计,也不妨碍同时提供部分模 ...

  7. 设计模式(九): 从醋溜土豆丝和清炒苦瓜中来学习"模板方法模式"(Template Method Pattern)

    今天是五.四青年节,祝大家节日快乐.看着今天这标题就有食欲,夏天到了,醋溜土豆丝和清炒苦瓜适合夏天吃,好吃不上火.这两道菜大部分人都应该吃过,特别是醋溜土豆丝,作为“鲁菜”的代表作之一更是为大众所熟知 ...

  8. C++泛型编程:template模板

    泛型编程就是以独立于任何特定类型的方式编写代码,而模板是C++泛型编程的基础. 所谓template,是针对“一个或多个尚未明确的类型”所编写的函数或类. 使用template时,可以显示的或隐示的将 ...

  9. 新手入门Underscore.js 中文(template)

    Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了javaScript的编程.MVC框架Backbone.js就将这个库作为自 ...

随机推荐

  1. Linux下视频转换工具:转换,切割,连接,

    首先当然是需要安装ffmpeg软件包,可以直接从源中进行安装!但我安装后并不能成功执行后面所需要执行的转换命令,所以我只能重新从源码编译安装ffmpeg: (1)下载ffmpeg源码包,注意版本不能太 ...

  2. (2015年郑州轻工业学院ACM校赛题) B迷宫

    这是个简单的广搜题,注意下一下细节都能写出来, 大多数人都少考虑了一点,就是 假如 我的起始点就有一个机关, 并且不是 1 号机关, 这样的话是无结果的.不懂的可以测试一下代码下面的数据 #inclu ...

  3. Silverlight 中 TreeView 的数据绑定

    方法一:Silverlight使用XAML标记语言来编写,如果不使用XAML强大的绑定功能,实在是罪过.通过使用绑定,可以将UI与视图模型层分离,有利于系统的维护.作为Silverlight中比较有代 ...

  4. word页面不对齐,如何解决?

    http://blog.163.com/haibianfeng_yr/blog/static/34572620201157105439516/

  5. winPcap_4_获取已安装设备的高级信息

    由 pcap_findalldevs_ex() 返回的每一个 pcap_if 结构体,都包含一个 pcap_addr 结构体,这个结构体由如下元素组成: 一个地址列表 一个掩码列表 (each of ...

  6. Java高级特性之反射学习总结

    老规矩我们还是先提出几个问题,一门技术必然要能解决一定的问题,才有去学习掌握它的价值 一. 什么是反射? 二.反射能做什么? 一. 什么是反射? 用在Java身上指的是我们可以于运行时加载.探知.使用 ...

  7. 让IE6,7,8支持HTML5新标签的方法

    很多网站对网页进行重构的时候,提高标签的语义性,在网页中大量使用了section,article,header等HTML5新标签.考虑到目前win7自带的IE浏览器版本是IE8,而IE8不支持HTML ...

  8. Context中嵌套<Environment>元素

    环境条目  可以在Context中嵌套<Environment>元素,配置命名的值,这些值作为环境条目资源(Environment Entry Resource),对整个web应用可见.比 ...

  9. Sql排名和分组排名

    在很多时候,都有排名这个功能,比如排行榜,并且还需要分页的功能,一般可以再select的时候按照某一字段 oorder by XX desc,这样limit 查找就可以得到排名信息,但是有时候是需要多 ...

  10. logcat使用

    做android有些日子了,只是对主要的logcat的具体使用方法还是非常模糊,今天有空,学习一下. logcat能够在adb中使用,也能够直接在命令行下使用. logcat [options] [f ...