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


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面向对象的进阶学习(抽像类、接口、final、类常量)
May 07 PHP
php获取目标函数执行时间示例
Mar 04 PHP
xss防御之php利用httponly防xss攻击
Mar 21 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
Yii中render和renderPartial的区别
Sep 03 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
Apr 15 PHP
浅谈php提交form表单
Jul 01 PHP
大家须知简单的php性能优化注意点
Jan 04 PHP
PHP设置头信息及取得返回头信息的方法
Jan 25 PHP
PHP判断密码强度的方法详解
May 26 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
Oct 13 PHP
聊聊 PHP 8 新特性 Attributes
Aug 19 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
一个目录遍历函数
2006/10/09 PHP
PHPEXCEL 使用小记
2013/01/06 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
javascript 继承实现方法
2009/08/26 Javascript
js下用层来实现select的title提示属性
2010/02/23 Javascript
javascript中length属性的探索
2011/07/31 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
Python解析nginx日志文件
2015/05/11 Python
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
如何在python中使用selenium的示例
2017/12/26 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
德国户外商店:eXXpozed
2020/07/25 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
工厂保安员岗位职责
2014/01/31 职场文书
网络教育自我鉴定
2014/02/04 职场文书
职务聘任书范文
2014/03/29 职场文书
酒店周年庆活动方案
2014/08/21 职场文书
解除同居协议书
2015/01/29 职场文书
病假证明模板
2015/06/19 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
Vue图片裁剪组件实例代码
2021/07/02 Vue.js
springboot新建项目pom.xml文件第一行报错的解决
2022/01/18 Java/Android
cypress测试本地web应用
2022/06/01 Javascript