波霸美少女
贫民
贫民
  • UID87215
  • 粉丝0
  • 关注0
  • 发帖数0
阅读:0回复:18

如何写出规范的PHP代码

楼主#
更多 发布于:2013-04-20 13:50
本文以PHP语言为例,介绍一些良好的编程习惯,希望能够对你有所帮助。


源地址:www.kaiyuanba.cn/html/1/131/140/7817
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函数可以检查变量值是否为空。
wis
wis
贫民
贫民
  • UID72802
  • 粉丝0
  • 关注0
  • 发帖数0
沙发#
发布于:2013-04-20 23:34
学习学习
学习学习
暴君I
贫民
贫民
  • UID21989
  • 粉丝0
  • 关注0
  • 发帖数0
板凳#
发布于:2013-04-20 23:38
图片教学好吸收
图片教学好吸收
jains521
贫民
贫民
  • UID64028
  • 粉丝0
  • 关注0
  • 发帖数0
地板#
发布于:2013-04-21 12:47
适用任何语言规范
@7#适用任何语言规范,顶起
渣叔爱妹子
贫民
贫民
  • UID66174
  • 粉丝0
  • 关注0
  • 发帖数0
4楼#
发布于:2013-04-22 01:49
渣叔爱妹子回复给帖子:9463939
学习_(:з」∠)_
simayurong
贫民
贫民
  • UID88217
  • 粉丝0
  • 关注0
  • 发帖数0
5楼#
发布于:2013-04-23 08:48
开始学这个了
开始学这个了
可爱的喵喵君
贫民
贫民
  • UID88158
  • 粉丝0
  • 关注0
  • 发帖数0
6楼#
发布于:2013-05-03 10:18
正在自学这个
正在自学这个……
繁尘、离梦
贫民
贫民
  • UID85871
  • 粉丝0
  • 关注0
  • 发帖数0
7楼#
发布于:2013-05-03 11:21
繁尘、离梦回复给帖子:9463939

if($u=="noob")  echo "just learn the base thing ";


木马猪_SmoRy
贫民
贫民
  • UID101270
  • 粉丝0
  • 关注0
  • 发帖数0
8楼#
发布于:2013-08-28 10:02
观摩观摩
(⊙o⊙)哦。。观摩观摩
jingyixx
贫民
贫民
  • UID43433
  • 粉丝0
  • 关注0
  • 发帖数0
9楼#
发布于:2013-08-28 13:52
面向对象的特性允许程序员将应用程序分解为函
PHP面向对象的特性允许程序员将应用程序分解为函数或方法。


我觉得看了这句剩下的就没必要看下去了,明显作者搞不清楚什么是OO
GRzhan
贫民
贫民
  • UID93400
  • 粉丝0
  • 关注0
  • 发帖数0
10楼#
发布于:2013-08-29 14:29
代码风格貌似多是以
PHP代码风格貌似多是以PSR为准(主要是PSR-1)?
好像Zend和PEAR也有一套自己的规范嗯。。
sancia
贫民
贫民
  • UID105118
  • 粉丝0
  • 关注0
  • 发帖数0
11楼#
发布于:2013-08-31 17:05
代码风格貌似多是以
GRzhan 发表于 2013-8-29 14:29
PHP代码风格貌似多是以PSR为准(主要是PSR-1)?
好像Zend和PEAR也有一套自己的规范嗯。。 ...


很多大型公司使用 PYTHON 语言规范 。
GRzhan
贫民
贫民
  • UID93400
  • 粉丝0
  • 关注0
  • 发帖数0
12楼#
发布于:2013-08-31 17:17
很多大型公司使用
sancia 发表于 2013-8-31 17:05
很多大型公司使用 PYTHON 语言规范 。


PYTHON规范?是Google里的那个么。。
并不了解这个PHP规范,愿闻其详
sancia
贫民
贫民
  • UID105118
  • 粉丝0
  • 关注0
  • 发帖数0
13楼#
发布于:2013-08-31 17:20
里的那个么
GRzhan 发表于 2013-8-31 17:17
PYTHON规范?是Google里的那个么。。
并不了解这个PHP规范,愿闻其详


原版:http://www.python.org/dev/peps/pep-0008/

中文翻译:http://wiki.woodpecker.org.cn/moin/PythonCodingRule

GRzhan
贫民
贫民
  • UID93400
  • 粉丝0
  • 关注0
  • 发帖数0
14楼#
发布于:2013-08-31 17:23
中文翻译
sancia 发表于 2013-8-31 17:20
原版:http://www.python.org/dev/peps/pep-0008/

中文翻译:http://wiki.woodpecker.org.cn/moin/Pytho ...


我还以为缩写和Python刚好重名了,如果是这个的话还是知道的(每行80个字符印象比较深)
在其他语言里作为规范有一定参考价值,不过这个代码规范貌似不是针对PHP的吧=1713=
上一页
游客

返回顶部