php模板

模板其实就是php和html的分离,有人也说mvc啥的。
php处理程序,把动态内容保存到变量里面,然后通过模板输出这些变量的内容,这就是模板
你可以
$rows = $db->getAll($sql);
require "tpl.html";
来输出。
你也可以
$tpl->setVar("rows",$rows);
$tpl->display("tpl.html");
来输出,总之他是输出变量里面的内容。

我感觉模板应该有下面的特征
1,就是html页面
2,即见即得
3,书写简化,容易扩展。(这一点非常重要,其实就是换个简单的书写形式)
smarty自定义函数还有什么的,还有其他模板也有类似功能。比如{article.addtime:date:Y-m-d} {article.content:nl2br:}
如果能做到上面的三点,我感觉就是一个很好的模板。
很多人说直接用php来做html模板,我比较反对这种形式
1,php代码看不到。
2,书写太繁,太麻烦。
如果看起来麻烦,书写也麻烦,我拿模板来干什么,做花瓶?

discuz的模板就是一个不错的模板,可惜2,3两点他做得不太好,我自己也做个模板。到现在也一直用,差什么就加什么,对我来说他就是一个好的模板。
1,就是html页面
2,即见即得,你看到的什么样子,输出就是什么样子。不像很多人去搞个href="$cssPath/css.css"这样去搞个,div+css的页面这种模板美工改起来肯定没少吃苦。
3,书写简化   其实就是函数的简写。就如上面的,比如发布时间需要格式化可以任意改,比如内容要吧回车变成换行,比如要把内容弄到一个编辑器。{content:htmleditor:},比如。。。。,他就是一个简写,这样做起来什么事情都事倍功半。还记得那个页面的调用吧?比如最新产品显示8个,最新。。。显示10个。(很多所谓的cms采用标签)
其实说白了就是一个foreach,传入参数返回一个二维数组。
于是就有了
<!--{loop NewProduct:sortid=1;limit=8 $product}-->
{product.productname:cut:20} ....
<!---{/loop}-->
有一天客户要求变了,要调用精华产品,于是
<!--{loop NewProduct:sortid=1;limit=8 $product}-->
变成了
<!--{loop NewProduct:sortid=1;digest=1;limit=8 $product}-->
我感觉这就是简化,美工只要明白,这里应该是循环就行了,到现在和我合作的美工还没有一个不会改我的模板的,虽然他不懂程序。
4,模板吧,你要追求速度,缓存吧。
缓存真的有用吗?俺为啥要缓存?
很多人说设置下缓存时间,html缓存就行了,这个能叫缓存么?如果是动态网页,上面写的
欢迎你,{username},你还能把他缓存了?你说不缓存吧,下面的调用又太多,咋办捏?
这时候就要用到局部缓存,什么叫局部缓存,就是缓存页面的也部分。
其实说白了也就是那些调用。
<!--{loop NewProduct:sortid=1;limit=8 $product}-->
这种地方的调用,如果首页显示20个分类的最新5篇文章,那打开页面,光这些文章调用就要20次查询。局部缓存吧
<!--{#loop NewProduct:sortid=1;limit=8 $product}-->
loop我加一个#就让他缓存了。
我加20个#,首页的调用就没数据库查询了,好像有的地方必须每次都调用最新的,咋办呢,把#去掉吧。

模板就是模板,虽然只负责显示,不一定就不重要,如果让模板变得简单倒是我们应该考虑的问题。

时间: 2024-10-26 11:45:16

php模板的相关文章

MathType符号模板找不到了怎么办

  MathType符号模板消失示例 具体操作过程如下: 1.打开MathType软件进入到公式编辑状态,打开方式可以根据自己习惯来决定,可以在Word中通过"插入"--"对象"来完成,也可以双击现有的公式来打开,还可以直接双击MathType桌面图标来打开. 2.在MathType编辑窗口后,在MathType菜单栏中点击"视图"--"符号面板",再点击"视图"会发现"符号面板"的左边

PS设计教程之制作WordPress新闻博客模板

通常在第一次制作新闻博客模板,很难把握方向.这篇教程将为你提供如何在Adobe Photoshop中制作WordPress新闻博客主题的参考.该主题包括页眉区,图片轮换区域(包含特色文章,最近消息,按照分类显示,侧边栏,widget).如果你是初学者,跟着本教程一步一步来就可以.如果你有一定基础,亦可从本教程中获得新的收获. 点击图片,进行全屏预览. 本教程需用到的资源 · Search · 社交图标 第1步:创建文档 在PS中创建一个1200像素 x 1700像素的文档 标尺工具在本教程中非常

深入XSL(3)---模板规则和模式(转)

模板   深入XSL(3)---模板规则和模式翻译:孙一中  模板规则 模板规则由xsl:template元素来规定."match"属性标识了规则应用的源节点(集).xsl:template. 例如:一个XML文档可能包含下面的内容: This is an <emph>important</emph> point. 下列的模板规则匹配emph类型的元素,另有一个模板产生一fo:sequence 格式化对象,其font-weight属性为粗体(bold). <

jstl-jxls问题: excel模板中foreach的横向和纵向输出的问题

问题描述 jxls问题: excel模板中foreach的横向和纵向输出的问题 如图: 为什么纵向正常,横向时候index就出问题,而属性都是对的.求解

求数据库设计模板急急急

问题描述 求数据库设计模板急急急 自主选择一种系统,完成需求分析.概念设计.逻辑结构设计.规范化(3NF)及数据库的创建,并设计功能进行编程实现. 根据所选系统,自己设计多个功能,分别用存储过程.触发器完成. 存储过程或触发器的编程至少实现一个. 求好心人帮忙做一个,谢谢了 解决方案 应付作业最好能雇佣一个枪手帮你,像你这种费时不讨好的事情,想张口要现成的怕没人有时间帮你.既然网上找不到,就没办法了. 解决方案二: 好在你这种简单的需求,花个百把块钱在八戒网上发布下,很多人可以帮你做的. 解决方

前端-用php和mysql为我们实验室建立一个小网站,请问有没有合适的模板源码?

问题描述 用php和mysql为我们实验室建立一个小网站,请问有没有合适的模板源码? 自己在chinaz上下载了几个,但是不尽人意,希望有路过的朋友能够提供帮助,只有建立一个链接数据库的小网站,不用线上上运行,所以模板不用太复杂,前端有了就好,谢谢 解决方案 你应该说明网站用途,根据用途可以决定里的要用什么,只链接数据库使用phpadmin就好 解决方案二: 这样谁说你更想要的是前端的页面

用金山WPS模板制作精美简历

  临近年底,正是应届生求职以及职场人士跳槽高峰.一份好的简历虽然不至于点石成金,但是绝对可以成为最好的敲门砖,为您的面试添分加彩.WPS Office在线模板收集了多种多样的精美简历模板以及面试.求职攻略等,无论你是初入职场的毕业生,还是想要另谋高职的职场人士,都可以在这里找到适合你的一份简历! 用户登录WPS Office官网模板下载频道http://www.wps.cn/download/,在搜索框输入"简历"关键词,就可以下载各种类型的"简历"模板,据此打造

金山wps应用模板的使用技巧

  在金山wps文档中,为用户提供了非常多可以节约工作时间.提高工作效率的应用模板,不过,很多金山wps的用户却不知道,因此,小编今天就跟大家分享一下金山wps应用模板的使用技巧吧,让文档的处理变成填字游戏. 应用模板 用好模板 省时省力 模板是一个用来创建文档的原型,许多文字处理软件,都提供很多现成的模板,它们可以分别被用来制作不同类型的文本(备忘录.信件.新闻)稿,用户也可按需要定制模板.充分利用模板不仅可以使你在短时间内制作出相应的文件,而且形式.规格也会统一.美观. 1.选择模板 单击W

养车族必备实用WPS模板推荐

养车族怎样精明消费,用最少的钱跑最多的路,省钱省钱再省钱?要付诸行动的话最好有一张记账表来帮助你.金山WPS Office帮各位找到一些很容易上手使用的省油.交通.驾驶相关的WPS模板,希望各位养车一族少一些烦恼,多一些快乐! 用户登录WPS Office官方论坛(http://bbs.wps.cn/ ),可以看到WPS汽车交通类模板专题 (http://bbs.wps.cn/thread-21931824-1-1.html),上面列举了各种类型的"交通"模板,包括买车合同.油耗登记表

《Programming WPF》翻译 第5章 7.控件模板

如果仔细的看我们当前的TTT游戏,会发现Button对象并没有完全为我们工作 .哪些TTT面板有内圆角? 图5-14 这里,我们真正需要的是能够保持按钮的行为,如支持内容和点击事件,但 是我们想要接管这些按钮的外观.WPF允许这种方式,因为内在的控件创建的时 候是缺少外观性的,例如,他们提供行为,但是外观可以被完全包装在客户端控 件的外面. 还记得我们是如何使用数据模板,来为非可视化对象提供外观的么?我们能 够使用控件模板对控件做同样的事情,这将是一组StoryBoard,触发器,以及大 多数重