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


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 相关文章推荐
与数据库连接
Oct 09 PHP
PHP5与MySQL数据库操作常用代码 收集
Mar 21 PHP
PHP 函数学习简单小结
Jul 08 PHP
php expects parameter 1 to be resource, array given 错误
Mar 23 PHP
php读取文件内容的几种方法详解
Jun 26 PHP
Zend Framework自定义Helper类相关注意事项总结
Mar 14 PHP
微信支付开发动态链接Native支付
Jul 12 PHP
php数据库操作model类(使用__call方法)
Nov 16 PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 PHP
PHP静态成员变量
Feb 14 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
Laravel中任务调度console使用方法小结
May 07 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无限分类的深入理解
2013/06/02 PHP
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
JavaScript操作Cookie详解
2015/02/28 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
js常用DOM方法详解
2017/02/04 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
bootstrap响应式工具使用详解
2017/11/29 Javascript
解决layui下拉框监听问题(监听不到值的变化)
2019/09/28 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
2020/04/20 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
python三引号输出方法
2019/02/27 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
学习十八届三中全会精神实施方案
2014/02/17 职场文书
高效课堂标语
2014/06/26 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
感谢信怎么写
2015/01/21 职场文书
转让协议书
2015/01/27 职场文书
会计工作岗位职责
2015/02/03 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
小学教师教育随笔
2015/08/14 职场文书
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang