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


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环境搭建最新方法
Sep 05 PHP
分享PHP入门的学习方法
Jan 02 PHP
PHP小程序自动提交到自助友情连接
Nov 24 PHP
php不用正则验证真假身份证
Nov 06 PHP
PHP 动态生成静态HTML页面示例代码
Jan 15 PHP
laravel创建类似ThinPHP中functions.php的全局函数
Nov 26 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
thinkPHP框架中执行事务的方法示例
May 31 PHP
PHP创建对象的六种方式实例总结
Jun 27 PHP
PHP 加密 Password Hashing API基础知识点
Mar 02 PHP
laravel开发环境homestead搭建过程详解
Jul 03 PHP
PHP 裁剪图片
Mar 09 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
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
PHP ajax 分页类代码
2008/11/13 PHP
php环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
php实现微信企业转账功能
2018/10/02 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
php给数组赋值的实例方法
2019/09/26 PHP
js 操作符实例代码
2009/10/24 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
js中for in的用法示例解析
2013/12/25 Javascript
jQuery对val和atrr("value")赋值的区别介绍
2014/09/26 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
2016/08/30 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
python 迭代器和iter()函数详解及实例
2017/03/21 Python
python中字符串内置函数的用法总结
2018/09/13 Python
Python骚操作之动态定义函数
2019/03/26 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
pytorch实现MNIST手写体识别
2020/02/14 Python
python实现3D地图可视化
2020/03/25 Python
python3判断IP地址的方法
2021/03/04 Python
如何理解transaction事务的概念
2015/05/27 面试题
工程概预算专业毕业生求职信
2013/10/04 职场文书
应急管理培训方案
2014/06/12 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
教师研修随笔感言
2015/11/18 职场文书
《童年的发现》教学反思
2016/02/18 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
java中重写父类方法加不加@Override详解
2021/06/21 Java/Android
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫