PHP 模板高级篇总结


Posted in PHP onDecember 21, 2006

如何使用PHP来快速地编写代码,模版似乎成了唯一的选择。但是一个PHPer最终应该坚持使用模版,放弃模版,还是使用自己的模版?

    以下想法是属于所有PHPer的想法:

    “模板这东西,其实最重要的是适合自己的项目需求,而不是适合自己的习惯.比如一个企业的宣传网站,访问量不大,更新量也不大,用什么都一样,甚至不用,直接PHP+HTML写可能速度最快.也没什么不可.但是如果是一个新闻系统,或者是内容发布系统.两者这样,就非常有必要用到模板这一技术.因为他们都有一个共通的地方,就是有一类页面要用到同一个样式的页面设计.而根据实际情况,比如访问量的大小,项目的紧急程度以及程序员对于模板技术的熟练程度,选择最适合项目的模板技术..这才是首选。”[来自leslee]

    “从开始学习php就开始接触模板,我用的是smarty模板引擎(官方支持,功能强大),使用时间越长越发觉得模板是个好东西。只要要涉及到页面显示的东西,我的都会用模板去写,如果不用模板写程序总觉得别扭。我想其他的phper也会有相同的感觉,因为模板设计的初衷是将代码和页面分离出来分别处理,毕竟谁也不愿意一边写代码,一边处理页面。”

    “有人说SMARTY已经很好了,但也有人说SUPERTPL更好,也有人更中意于PHPLIB我认为每个模板都有自己优点,也有自己的不组,关键看你的项目需要什么,用什么最好!”[来自feifengxlq]“用模板肯定是没有错的最初使用的是PHPLIB,使用过了一段时间后,感觉太简单了,每个模板变量都要写代码去替换,每引用一个模板也得写一行代码(也许PHPLIB有批量处理功能,我太菜不知道)因而放弃了,后来用plog建站的时候接触到了smarty,感觉smarty过于庞大,确实能加快开发进度,但是很多功能实际都用不上,因此,最后还是自己写了模板引擎,要模板实现的功能很简单,就是一个模板变量的替换功能,再加上include其他模板和foreach块操作功能。”

    “我还是用PHPLIB,不过,我会按自已的经验与需要,写一些函数或类来封装最常用的一些针对模板输出的处理。”[来自seraph]“我使用自己的模板,还要写模板解析代码,累呀。我选择使用现有优秀的模板。”[来自Bantu]“偶在别的论坛上看见一些很厉害的人不用模板...可能是没到那种境界...个人感觉还是使用模板的好..至少可以分工..加快开发速度。使用自己的模板? 感觉没有必要哈...用现成的就行了..在现成的基础上加上一些自己学要的实际功能。”[来自Phzzy]“我不使用模板引擎,但我也是使用模板,只是跟你们的不一样。因为模板引擎太慢了感觉不好用。”

    “我用第三方的,最好是开源的。至于用哪个,看个人的爱好吧。”[来自leeyupeng]“我还是倾向于使用自己的模板简单实用。”[来自夕日]“由于考虑到性能,我一般不使用通用的模板,会根据实际情况做一些取舍,具有一定的局限性。”[来自Ben]“根据需要来决定使不使用模板,以及使用什么模板。灵活一点总是没有坏处的。”[来自xlmo]“个人喜欢简单快速的模板,可以考虑用现成的模板,不过一般会根据实际项目优化一下,把里面用不到的一些功能删除等。”

    “使用模板一般倒不会导致瓶颈,至于会影响点效率主要这么几点:

    1、程序和模板分离后,一个文件就变成两个或者多个了,那读取模板这个IO也是要点时间的
    2、解析模板相对是比较复杂的,一般都需要N个 preg_match,preg_replace之类函数来处理或者替换
    3、模板的载入和替换工作明显需要比不使用模板占用更多的内存

    所以提高效率注意以下几点:

    1、模板解析程序选用支持编译和缓存的,这个对性能好处是最明显,看自己怎么灵活应用了
    2、解析程序尽量简单,什么功能都放进去那用起来是方便了,性能也差了
    3、做html的模板页面时候也是遵从简单的原则,比如按xhtml标准做,尽量不要把一个页面拆成很多个模板然后再include。”

    “如果使用模版的话,我觉得有能力还是自己写一个好。这也是锻炼。不过要用我觉得小强很好。可以在可视化下编辑。”[来自jejwe]“我个人也认为模板文件的可视化编辑性非常重要。不能要求模板页面的制作也要有相当程序开发基础的。”[来自seraph]“具体问题具体分析,模板使用与否,选择已经成型的优秀模板类还是自己去写,一切都是根据具体的项目开发而言的,不能死求哪一个的。”[来自Deepseath]“感觉现有的那些模版不够完善,要么功能少,要么速度慢,还是自己做的好。”

    “总结,PHP模板可以让你的代码脉络更加清晰,结构更加合理化。但是,PHP模板的发展总是会比PHP应用的迅速发展缓慢许多,在这种情况下,反而会影响到PHP应用的开发。对于每一个PHPer来说,没有一个PHP模板对他是最合适、最完美的。因为所谓的PHP模板就是大众化的东西,并不是针对个人的。所以,如果能在对PHP特点、应用有清楚的认识的基础上充分认识到模板的优劣势和该PHP应用原理,PHPer就能得到自己需要的适合自己开发风格的PHP模板。这也是PHP最重要的思想之一,PHP提供的只是方法、途径,而不是最终解决方案。所以模板和PHP应用、产品一样都可以改造为自己的PHP模板。因为这里面寄托着创造者的思想。

    限于各种不同的条件限制,比如时间、经验,所以大家可能认为做一个自己的PHP模板是非常困难。其实,你需要的不是重新构造一个PHP模板,而是选择一个最贴近自己的PHP模板加以改造。因为PHP需要继承、创新。当然,做一个自己的PHP模板一步一步地实现,并及时融入最新的思想和理念。个人PHPer可以从细节做起,从自己最需要的地方、自己的开发习惯做起。PHPer团队可以分工协作进行PHP模板本地化,尤其对于公司而言尤为实用。就算你只是修改了PHP模板里面的一个符号,仅仅是一个符号也能说明你对它加以了改造,它就是属于你的。最重要的是,属于自己的PHP模板永远不是固定不变的,它将伴随你一直成长,也会成为你的PHP历程的见证。

    PHP不需要非常精通的语法;PHP不需要你自己去开发众多的库;PHP不需要你去为性能、稳定性等语言自身的特性而担心。PHP需要的是你的逻辑;PHP需要的是你的创造力;PHP需要的是你的思想!”

PHP 相关文章推荐
玩转图像函数库―常见图形操作
Sep 03 PHP
用PHP4访问Oracle815
Oct 09 PHP
php项目打包方法
Feb 18 PHP
php 表单数据的获取代码
Mar 10 PHP
PHP 中文处理技巧
Apr 25 PHP
PHP合并数组+与array_merge的区别分析
Aug 01 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 PHP
PHP中使用CURL模拟登录并获取数据实例
Jul 01 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
Mar 21 PHP
Yii开启片段缓存的方法
Mar 28 PHP
Yii2中datetime类的使用
Dec 17 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
PHP函数utf8转gb2312编码
Dec 21 #PHP
小偷PHP+Html+缓存
Dec 20 #PHP
PR值查询 | PageRank 查询
Dec 20 #PHP
转PHP手册及PHP编程标准
Dec 17 #PHP
IIS环境下快速安装、配置和调试PHP5.2.0
Dec 17 #PHP
亲密接触PHP之PHP语法学习笔记1
Dec 17 #PHP
PHP读MYSQL中文乱码的解决方法
Dec 17 #PHP
You might like
php中addslashes函数与sql防注入
2014/11/17 PHP
Laravel框架实现利用中间件进行操作日志记录功能
2018/06/06 PHP
JScript中的"this"关键字使用方式补充材料
2007/03/08 Javascript
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
JS小框架 fly javascript framework
2009/11/26 Javascript
Javascript的闭包
2009/12/31 Javascript
基于jquery循环map功能的代码
2011/02/26 Javascript
根据经纬度计算地球上两点之间的距离js实现代码
2013/03/05 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
2015/08/11 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
Python实现partial改变方法默认参数
2014/08/18 Python
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
2018/02/13 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
Python理解递归的方法总结
2019/01/28 Python
Python使用Slider组件实现调整曲线参数功能示例
2019/09/06 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
小学生个人先进事迹材料
2014/05/08 职场文书
副处级干部考察材料
2014/05/17 职场文书
我们的节日中秋活动方案
2014/08/19 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
优秀大学生自荐信
2015/03/26 职场文书
步步惊心观后感
2015/06/12 职场文书
运动会通讯稿50字
2015/07/20 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
小学美术教学反思
2016/02/17 职场文书
Java基于字符界面的简易收银台
2021/06/26 Java/Android