博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
辛星解读为什么PHP须要模板
阅读量:5357 次
发布时间:2019-06-15

本文共 1495 字,大约阅读时间需要 4 分钟。

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

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

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

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

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

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

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

     假设读者有什么看法,能够给我留言,我会认真回复的。

转载于:https://www.cnblogs.com/bhlsheji/p/4357654.html

你可能感兴趣的文章
Zookeeper概述
查看>>
Linux自己安装redis扩展
查看>>
luoguP3414 SAC#1 - 组合数
查看>>
图片点击轮播(三)-----2017-04-05
查看>>
直播技术细节3
查看>>
《分布式服务架构:原理、设计于实战》总结
查看>>
java中new一个对象和对象=null有什么区别
查看>>
字母和数字键的键码值(keyCode)
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
Spring mvc初学
查看>>
VTKMY 3.3 VS 2010 Configuration 配置
查看>>
01_1_准备ibatis环境
查看>>
windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决
查看>>
JavaScript中的BOM和DOM
查看>>
360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)
查看>>
spring注入Properties
查看>>
jmeter(五)创建web测试计划
查看>>
python基本数据类型
查看>>
1305: [CQOI2009]dance跳舞 - BZOJ
查看>>
将html代码中的大写标签转换成小写标签
查看>>