如何让PHP编码更加好看利于阅读


Posted in PHP onMay 12, 2019

写出优秀的程序代码是一门艺术,要想如此,就必须在一开始就养成良好的编程习惯。良好的编程习惯不仅有助于项目初期的设计(如模块化),还可以使你编写的代码更易于理解,从而使代码的维护工作更轻松、更省力。不好的编程习惯则会造成代码bug,并且会使以后的维护工作困难重重。

本文以PHP语言为例,介绍一些良好的编程习惯,希望能够对你有所帮助。

1. 规划代码结构

优秀的PHP代码应该有清晰的结构。PHP面向对象的特性允许程序员将应用程序分解为函数或方法。如果代码晦涩难懂,你也可以添加注释,使代码的功能一目了然。编码时应尽量将前端代码(HTML/CSS/JavaScript)与应用程序的服务端规则分开,或者你可以使用遵循MVC模式的PHP框架来构建你的应用程序。

2. 编码风格统一

优秀的PHP代码应该具备统一的风格。比如,为变量和函数制定统一的命名规则,为循环任务(比如数据库存取、错误处理)制定统一的接入标准,或者保持有规律的代码缩进,这些编码习惯都可以让别人阅读代码更加轻松。

3. 可移植性

优秀的PHP代码应该具有可移植性。程序员应学会运用PHP现有的特性(比如魔术引号和短标签等),应该了解产品需求,适应PHP的特点,保证写出的PHP代码具有可移植性和跨平台性。

4. 代码安全性

优秀的PHP代码应该具有安全性。PHP5具有卓越的特性和灵活性,但应用程序的安全往往掌握在程序员的手中。作为专业的PHP开发人员,应该对安全漏洞有一些深入了解,常见的安全漏洞有跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、代码注入漏洞和字符编码漏洞等。使用PHP中的特定功能和函数(比如mysql_real_escape_string等)可以帮助程序员写出安全的代码。

5. 添加注释

代码注释是代码中的重要组成部分,它解释了函数运行的目的,这种注释会在代码以后的维护中提供非常有用的帮助。

6. 避免简写标记

应使用完整的起始标记,不推荐使用简写的起始标记。

7. 用单引号代替双引号

由于PHP会对双引号中的内容进行变量搜索,为了避免这种搜索带来的性能影响,程序员应该使用单引号引用字符串。

8. 转义输出

应该在htmlspecialchars函数中使用ENT_QUOTES参数,保证单引号(')也可以被转义。尽管没有规定必须这样做,但这是一个好习惯。

9. 使用逗号隔开字符串输出

字符串连接符(.)可以将单一的字符串传递给echo语句进行输出,与之相比,逗号可以实现echo语句中字符串的分别输出,这对PHP来说是一个性能改善。

10. 在输出前检查传递值

应该记得在输出前检查$_GET['query'] 的传递值。使用isset函数或是empty函数可以检查变量值是否为空。

PHP 相关文章推荐
一个可查询所有表的“通用”查询分页类
Oct 09 PHP
linux iconv方法的使用
Oct 01 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
ThinkPHP模板自定义标签使用方法
Jun 26 PHP
PHP在网页中动态生成PDF文件详细教程
Jul 05 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
Zend Framework教程之Application用法实例详解
Mar 14 PHP
Thinkphp3.2.3分页使用实例解析
Jul 28 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
Mar 15 PHP
PHP PDOStatement::bindParam讲解
Jan 30 PHP
Yii2处理密码加密及验证的方法
May 12 #PHP
php和asp语法上的区别总结
May 12 #PHP
Laravel推荐使用的十个辅助函数
May 10 #PHP
PHP下载大文件失败并限制下载速度的实例代码
May 10 #PHP
PHP 7.4 新语法之箭头函数实例详解
May 09 #PHP
PHP文件类型检查及fileinfo模块安装使用详解
May 09 #PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 #PHP
You might like
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
原生javascript兼容性测试实例
2013/07/01 Javascript
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
Python中的Matplotlib模块入门教程
2015/04/15 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
python最长回文串算法
2018/06/04 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
美国校服网上商店:French Toast
2019/10/08 全球购物
继电保护工岗位职责
2014/01/05 职场文书
试用期员工考核制度
2014/01/22 职场文书
校园文明标语
2014/06/13 职场文书
大学同学会活动方案
2014/08/20 职场文书
天坛导游词
2015/02/02 职场文书
python 如何将两个实数矩阵合并为一个复数矩阵
2021/05/19 Python
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
python垃圾回收机制原理分析
2022/04/13 Python
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技