资讯专栏INFORMATION COLUMN

PHP编码规范的十则建议

lordharrd / 2837人阅读

摘要:被称为的编程语言。然而,和其他语言一样,需要遵循良好的代码规范。编码风格项目应当有统一的风格。安全开发者应该对常见的安全漏洞包括跨站脚本攻击跨站请求伪造代码注入漏洞和字符编码漏洞有所了解。

PHP被称为 quick and dirty 的编程语言。然而,PHP和其他语言一样,需要遵循良好的代码规范。以下是一些小建议。

1. 结构

PHP面向对象的特性允许程序员将应用程序分解为函数或方法。尽量将前端(HTML/CSS/JavaScript)与后端分开,可以考虑使用遵循MVC模式的PHP框架来构建你的应用程序。  

2. 编码风格 

项目应当有统一的风格。比如,统一的类、函数、变量命名规则,统一的代码缩进,这些可以帮助别人更轻松地阅读你的代码。  

3. 安全 

PHP开发者应该对常见的安全漏洞(包括跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、代码注入漏洞和字符编码漏洞)有所了解。使用PHP中的特定功能和函数(例如mysql_real_escape_string)可以帮助程序员写出安全的代码。
  

4. 注释 

注释是代码中的重要组成部分,良好的注释有助于代码日后的维护。

5. 结束标记

对于只包含有 PHP 代码的文件,不要使用结束标记("?>")。PHP自身不需要("?>"), 这样做, 可以意外地在文件末尾插入内容。

6. 避免简写标记 

应使用完整的起始标记,不要使用简写的起始标记。简写的起始标记取决于PHP的配置,在别的环境下可能无法工作。新版的PHP默认配置关闭了对简写的起始标记的支持。  

7. 单引号

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

8. 转义输出 

应该在htmlspecialchars函数中使用ENT_QUOTES参数,保证单引号"也可以被转义。

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

字符串连接符.可以将单一的字符串传递给echo语句进行输出。相比之下,在echo语句中使用逗号分隔字符串能改善性能。

10. 在输出前检查传递值 

记得在输出前检查$_GET["query"]的传递值。使用issetempty函数可以检查变量值是否为空。


参考

PHP PSR标准

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20653.html

相关文章

  • PHP编码规范

    摘要:为什么需要编码规范为了提高工作效率,保证开发的有效性和合理性。在文件编码中,选择推荐在换行符中,选择推荐文件命名程序的文件名和目录名都采用有意义的英文命名。最后最后说的是,本规范不是强制,也不是标准。回复编码规范即可。 为什么需要编码规范? 为了提高工作效率,保证开发的有效性和合理性。 为了提高代码可读性和可重复利用性,从而节约沟通成本。 本文主要参考了 PEAR 规范,并进行适当...

    xuweijian 评论0 收藏0
  • PSR-1 Basic Coding Standard(译)-- 基础编码规范

    摘要:注本文算是笔者对规范翻译学习笔记,之后会陆续翻译剩余的规范,可能翻译的有错误的地方,希望读者能够指正,非常感谢什么是是标准建议的简写,是由组织框架交互操作组织提出。的工作是寻找项目之间的共性,以及让开发者能更好协同工作的方式。 注:本文算是笔者对PSR规范翻译/学习笔记,之后会陆续翻译剩余的规范,可能翻译的有错误的地方,希望读者能够指正,非常感谢. 什么是PSR?       PSR是...

    darryrzhong 评论0 收藏0
  • 不使用Ruby的十个理由

    摘要:既然这不是宗教,而是关于如何面对新的事物,我认为我们应该列出所有其他人认为不使用来做开发的理由。在下工作的不好这是一定的。流行度只是衡量使用率,社区活跃度的一个指标,用来帮助人们判断技术的可用性,稳定性和支持程度。不幸的是,人们混淆了和。这是一篇赞美 Ruby 的文章!!!看完再喷不迟  请注意:这是一篇主观意识的文章。它的目的并不是要说服你使用或者不使用Ruby,或者其他任何技术。这...

    young.li 评论0 收藏0
  • 新手程序员常犯的十个错误

    摘要:对于程序员来说,更意味着代码的组织,工作成员之间的协作方式。我常犯的一个错误是直接在或分支上直接,而团队是不允许这样做的。 先介绍下背景,博主由运营转行前端,入职一个月,完成了一个相对较大的模块。由于基础相对薄弱,犯下了不少错误,故想记录下来警醒自己和分享各位。 前端技术栈是 ES6 + backbone + react + antdUI,后端使用的 Ruby on Rails。 1....

    blankyao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<