辛星解读为什么PHP需要模板

最近有个人问我:为什么PHP需要模板呢?整个网站的编写都是我一个人完成的,从前端到后端,都是这样,我一个人写网站是不是就不需要模板了呢?我当时还真给问住了,也没想好很合适的回答它的方式,于是就随便说了几点理由,现在仔细想想,大致有如下几点理由。

第一点就是PHP代码和HTML代码的分离,它并不是几个人做的事,就像前端的HTML和CSS通常也是一个人写,那为什么不直接在HTML里面把布局搞定呢?原因就是混乱,我们把CSS代码和HTML代码写到一起,大家可以看看诸如新浪等网站的网页,刚才我还真看了一下,6606行,六千多行,在里面修改一下样式,想改动点东西,光找就得找半天,没错,于是,我们追求把HTML和CSS分开写,就是为了查找修改方便。

我也写过不少HTML和PHP混编的网页,主要是用于教学实例用,但是大都不长,也就两三百行左右的样子,那个时候我修改就感觉有点费劲了,如果是想修改PHP代码,必须在三百行里找,关键是这三百行还不全是PHP代码,而是混编的,于是就得区分,这个很麻烦,如果沃恩分开写呢,我们写一百多行的PHP代码,然后写二百多行左右的HTML代码,不论我们去修改自己的PHP还是去修改HTML,都很方便,为什么,因为代码少啊,而且这对于PHP代码的逻辑更有好处,它可以让我们编写PHP代码思路更清晰,更容易调试错误。

第二点就是缓存,这也是新手经常不知道缓存的重要性导致的,缓存非常重要。我记得有位大师说过,如果PHP内置了缓存,那么它的性能能够提高五百倍。试想一下,新浪网站的首页那么多内容,光静态化的页面就有六千多行,如果是让PHP来做,它先需要去数据库中取出数据,然后自己完成相关的逻辑处理,然后交给Apache或者nigix去处理,整个过程的开销是很大的,于是,我们把网页静态化为一个固定的HTML页面,这样,服务器直接发送静态页面,效率至少提高十倍。这一点静态化,就需要用到模板技术了,没有哪个模板不支持缓存,很多模板可以解读PHP原生的代码也是因为如此,因为缓存重要,而不是编写模板的符号是什么。

可能有人会说;我的网站是个小站,还需要缓存吗?答案是可以不用缓存,但是缓存绝对不会拖累你,(虽然会占用少量的硬盘),因此,支持页面缓存并不会拖累你的网站,当然,其他缓存就不好说了,从这一点上来说,使用模板的缓存是不会起到负面作用的。

第三点就是多人分工开发的时候,使用模板更好,因为模板技术多数有一个PHP网页的变量和模板网页的变量技术的对应,多人开发的时候,每个人的命名都有自己的习惯,这一点可以保证多人工作的衔接更好,不会出现他必须知道你要怎么做它才能做,这样可以更好的协同多个人的工作,让工作效率更高效。那么一个人需要使用模板吗?答案就是看你的工作量大小了,如果你在网页中修改PHP代码感觉不到麻烦,可以不用,如果在网页中修改PHP代码感觉很累,那就恐怕需要使用模板技术了。

第四点就是通用性,这点怎么说呢,如果读者是一开始就从事的PHP开发,那么肯定感觉不到,如果读者之前开发过Python或者Java,那就会感受到它的重要性了,因为Java和PHP和HTML的配合都不如PHP那么好,因此,我们通过使用模板,可以让从事其他语言开发的人开速的使用PHP进行开发,这能确保不会出现那种有其他语言经验的不想转入到PHP语言中来,因为我之前是搞Java的,这点,我懂得。。

如果读者有什么看法,可以给我留言,我会认真回复的。

时间: 2024-08-07 08:35:56

辛星解读为什么PHP需要模板的相关文章

2014年辛星解读Javascript之DOM快速入门

在Javascript的知识中,有一个所谓的DOM,即文档对象模型,我们可以通过它来访问HTML文档的元素,当网页被加载的时候,浏览器会去创建DOM,有了这个DOM,我们可以使用Javascript去改变页面中HTML元素和属性,改变CSS样式,能够对页面中的事件作出响应. 首先就是查找一个HTML元素,我们可以通过三种方式来做到,即通过id.标签名和类名,通过id是使用getElementById方法,它是doucument的一个方法,通过标签名则可以使用getElementsByTagNam

2014年辛星解读Javascript之用DOM动态操纵HTML元素

关于DOM,我们了解了可以用DOM操纵HTML的一些属性和样式,还可以为HTML元素绑定事件等等,那么接下来,我们将涉及到用DOM来动态的创建.删除HTML等一些操作,我的核心思路还是重实战,因此,代码示例是肯定少不了的. 不过在使用DOM动态操纵HTML元素之前,我们还是先了解一下DOM树,下面是我从网上找的一个DOM树的图片,它的截图如下: 如果大家学习过"树"这种数据结构,就会很好理解,一个父节点可以包含N个子节点,这些子节点可能是div.p等标签,也可以是属性,还可以是中间的文

辛星解读之php中的重点函数第一节之数组函数

这里我已经写好它的pdf版本了,比本博客更加适合阅读.首先说一下它在百度网盘的下载地址把:百度网盘下载 ,如果左边连接跪了,可以在浏览器中输入:http://pan.baidu.com/s/1qW5AYzM 来下载.然后说一下它在csdn的下载地址,是免积分的奥,下载地址:csdn资源下载处 ,如果连接不起作用,可以在浏览器输入:http://download.csdn.net/detail/xinguimeng/7697309  来手动下载. 好,我们知道php中函数还是很多的,正是这些函数为

2014年辛星解读CSS第八节 使用背景图片

这应该是系统CSS的教程的最后一节了,为什么呢,因为到这一节,我感觉基础知识就已经讲完了,接下来的就是无穷的实战,而实战是很难用知识去讲出来的,靠的是积累,拼的是经验,这些都不是讲出来的. 好,我们下面来说一下用CSS添加背景图片的方式把,它在background属性中指定,可以用url("图片路径")的方式来指定背景图片,如果是repeat,则图片在横向和纵向上平铺,如果是no-repeat,则背景图像不会平铺,只显示一次,如果是repeat-x,那么就在水平方向平铺,如果是repe

2014年辛星解读Javascript之DOM之冒泡和捕获

上篇博客提到了Javascript事件绑定函数的三个參数.第一个是一个event.第二个是一个function.第三个是一个布尔变量.它用于指定事件传递的顺序,分为冒泡和捕获两种方式,接下来我们将揭开它的神奇面纱,彻底的解读它. 首先看例如以下代码: <html> <body> <div id = "demo"><p id = "tag">辛星</p></demo> <script typ

2014年辛星解读Javascript之DOM之事件及其绑定

我们通过DOM的事件能够对HTML的事件作出反应.就像我们用其它编程语言写GUI一样,那么HTML包含哪些事件呢?以下是几个常见的样例,比方网页已经完毕记载,图像完毕载入,鼠标移动到元素上方.输入文字被改变.表单提交.用户点击按键等等,还是蛮多的. 以下我们用实例来演示一下,看以下的HTML代码: <html> <p id = "tag" onclick="this.innerHTML ='小倩' ">辛星</p> </ht

2014年度辛星解读css第四节

接下来的这一节我计划解说的是超链接和列表的样式,然后我们做出一个导航栏出来,事实上导航栏是很常见的,可是我们这里做得这个有点并不那么完好,等我们学完了css之后再完好它. **************超链接************* 1.我们讲伪类的时候已经讲到了,一个超链接能够有link(正常状态).visited(已经訪问过).hover(获得鼠标焦点)active(被鼠标点击中)这样四个状态,我们前面也分别设置过不同的颜色了,使用选择器:伪类的形式. 2.我们还能够使用background

辛星解读mysql的用户管理

可能做开发的多半不太关注这方面,但是要说到做运维,那就不能不关注了.因为我们都知道,root的权限太大了,不是随便能用的,我们平时最好用一些比较低的权限的用户,这样会让我们的安全性大大提高,也能防止我们平常中因为误操作而造成不必要的损失. 首先我们需要查看mysql中的所有账户,我们在mysql数据库中的user表中查看信息即可,但是呢,由于我们直接select * from user的话会显示很多的和权限相关的信息,极大的影响我们的阅读,因此我们这里只查看三个比较重要的字段,下面是我的机器中的

2014年辛星解读css第一节

CSS是Cascading Style Sheets的缩写.即层叠样式表,它用于表现HTML的样式,即HTML仅仅是去写该网页有哪些内容,至于怎样去表现它们,由CSS去定制. *************时代的呼唤************* 1.在之前,我们直接把网页的格式写到HTML中去,这样会造成格式的混乱,并且难以阅读和改动,只是这不是最大的问题,最大的问题在于我们想给网页换一个表达样式的时候,须要改动的地方不仅非常多关键是非常零散,须要花费非常大的力气去定位这些样式. 2.于是,把网页内容