编写漂亮的代码 - 将后台程序与前端程序分开


Posted in PHP onApril 23, 2008

在编写PHP程序时,有些代码是用来处理一些事务,例如操作数据库、进行数学运算等,而另外的一些代码则只是事务处理的结果显示出来,例如一些使用echo语句将结果以HTML的格式显示在Web浏览器上的PHP代码以及那些直接嵌入PHP程序的HTML代码。首先我们应该清晰地区分这两种代码,把前者称为后台程序,把后者称为前端程序。

    因为PHP是一种嵌入式编程语言,也就是说,所有的PHP代码都可以嵌入到HTML代码之中,这为程序的编写带来了许多便利之处。但是,“物极必反”,如果在一段较长的程序中将PHP代码和HTML代码混合编写,这将使程序杂乱无章,不利于程序的维护和阅读。所以我们需要尽可能地将这些程序中混杂于HTML代码中的PHP代码移植出来,在专门的文件中将这些代码封装成函数,然后在HTML代码中使用include语句来包含这些文件,在适当的位置调用这些函数即可。

    这种做法一方面使HTML代码和PHP代码都简单易读,另一方面因为HTML代码需要不断更新,而这种分离的方法可以确保后台程序不会被破坏。
同前端程序不同,后台程序更多追求的是稳定、结构化,极少更改,所以应该认真地设计和管理。其实,在设计台程序时,投入大量时间是值得的,“现在栽树,以后乘凉”,在以后的设计工作中将可以轻松地使用现在编写的后台程序。

PHP 相关文章推荐
php函数array_merge用法一例(合并同类数组)
Feb 03 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
php构造函数实例讲解
Nov 13 PHP
php使用websocket示例详解
Mar 12 PHP
ThinkPHP CURD方法之field方法详解
Jun 18 PHP
php中将一段数据存到一个txt文件中并显示其内容
Aug 15 PHP
PHP中iconv函数知识汇总
Jul 02 PHP
windows下apache搭建php开发环境
Aug 27 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
Mar 04 PHP
功能强大的php分页函数
Jul 20 PHP
Thinkphp3.2实用篇之计算型验证码示例
Feb 09 PHP
PHP递归的三种常用方式
Feb 28 PHP
php REMOTE_ADDR之获取访客IP的代码
Apr 22 #PHP
Gregarius中文日期格式问题解决办法
Apr 22 #PHP
PHP下用rmdir实现删除目录的三种方法小结
Apr 20 #PHP
Mysql中limit的用法方法详解与注意事项
Apr 19 #PHP
php采集速度探究总结(原创)
Apr 18 #PHP
Snoopy类使用小例子
Apr 15 #PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 #PHP
You might like
php 代码优化的42条建议 推荐
2009/09/25 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
2016/03/31 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
2019/03/22 PHP
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
js url传值中文乱码之解决之道
2009/11/20 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
JavaScript Date对象应用实例分享
2017/10/30 Javascript
vue的mixins属性详解
2018/03/14 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
python访问抓取网页常用命令总结
2017/04/11 Python
Python数学形态学实例分析
2019/09/06 Python
python判断正负数方式
2020/06/03 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
int和Integer有什么区别
2013/05/25 面试题
关于十八大的演讲稿
2014/09/15 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
新闻稿格式范文
2015/07/18 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书
检讨书怎么写?
2019/06/21 职场文书
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS