PHP代码规范
我们写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果:
1、提高我们的编码效率。
2、提高代码的可读性。
3、显示我们专业。别人看到了我们的代码,发现整个代码的书写流程都整齐划一,瞬间逼格就上去了!划重点!!!
4、方便团队协同工作。大家使用同一的规范,这样就消除了五花八分的书写方式,同一协调!
编码规范包含两大块,代码的书写规范和注释的书写规范。
1.代码的书写规范
文件夹的命名:
文件夹同一使用小写字母。如存放控制器的文件夹,直接命名为controller即可
文件的命名:
如果是类文件的话,那么文件的命名应该同类名称保持一致,统一使用大驼峰。如Session.class.php , 对应类名称为Session,如果是普通的工具脚本,那么统一使用小驼峰,如common.php
类名称的命名:
类名称同一使用大驼峰,Cookie类
方法名的命名:
统一使用小驼峰,一般使用 动词 + 名次 的形式来描述该方法的功能,如sendMessage,发送短信。在面向对象中,遵循同样的规则,但是个别地方有所区别:
变量的命名规范:
关于变量,我们需要多说几点:
1.无论在面向对象还是非面向对象的语法中,变量统一使用小驼峰,如:$workYears。但是在面向对象中又有所不同,public 、 protected 、 private ,protected或者private属性的时候,前面加上了 _ 作为区别
2.如果是常量的话,统一使用大写,中间使用下划线进行分割。
3.全局变量,使用大驼峰,前缀加上 _ ,所有的单词首字母大写。因为知道一个变量的作用域是非常重要的,所以局部变量和全局变量应该很明显的进行分开!
示例:$_System_Config;$_Root_Path;
缩进符
关于编码的缩进符号,我们统一使用制表符(tab)缩进!也许有的人会问为什么不适用空格缩进的呢?原因很简单,大部分的编辑器都支持制表符等于多少个空格,而使用空格就没得调了!
运算符号
所有的两元运算符号,都应该前后使用空格进行
2.注释的书写规范
很多人说好的代码是不需要注释的,其实,个人认为这种观点是错误的。谁也不能保证不接手他人的代码和他人不接手自己的代码。多写注释,无论是对团队的其他人,还是对自己都是非常友好的!
个人观点,注释至少有以下几个作用:
1.解释代码功能 ,提高代码的可读性,提高团队合作效率。毕竟读你的注释要比读你的代码要容易的多!
2.保留对代码功能的理解。永远不要过于相信自己的理解力!当你思路通畅时,你可以很流畅的实现某个功能,但这种流畅可能是因为你当时正处于这种开发思路中,为了能在再次阅读这段代码时,还能找回当初编写这段代码的思路,建议添加注释!
3.代码注释即文档!程序源代码是程序文档的重要组成部分,当我们想着把各种软件相关文档写注释的重要性规范的时候,不要忘了把软件里最重要的文档,源代码注释写规范!
代码注释的种类
1、块注释,个人认为主要用在了三个地方。对php脚本的描述、对一个大的功能模块的描述、在一行之内不能写完注释的时候,也应该放在块注释中
2、行注释,个人认为他是配合块注释进行工作的!一般用于描述一个大的功能模块的具体细节!
下面附上一些php的编程规范,给大家参考下
一、文件标记:
1.所有php文件,其代码标记均采用完整php标签,不建议使用短标签(短标签容易和xml混淆,php从5.4开始默认不支持短标记)。
2.对于只有php的代码文件,建议省略结尾处的‘?>'。这是为了防止多余的空格或其他字符影 响到代码。
二、文件和目录命名
1.程序文件名和目录名均采用有意义的英文命名,不使用拼音和无意义的字母,只允许出现字母、数字、下划线和中划线字 符,同时必须以‘.php'结尾(模板文件除外),多个词间使用驼峰命名法。
例://类统一采用:DemoTest.class.php
//接口统一采用:DemoTest.interface.php
//其他按照各自的方式:demoTest.{style}.php
三、文件目录结构
规范的目录结构有助于团队协作开发和后期维护。
——app //独立的应用
——class //单个的类文件,共用的类文件
——conf/inc //配置文件或目录
——data //数据文件或目录
——doc //程序相关文档
——htdocs //document_root
——images //所有图片文件存放路径
——css //css文件
——js //js文件
——lib //共用类库
——template //模板文件
——tmp //临时文件目录
——cache //缓存文件
——session //SESSION文件
——template_c //编译后的模板文件
——other
——upload //上传文件
——manage //后台管理文件目录
四、命名规范
1.变量命名:php中变量区分大小写,一个有效的变量名由数字、字母或下划线开头,后面跟任意数量的字母、数字、下划线。
a)程序整体以驼峰命名法,以小写字母开始,同时命名要有意义。(function displayName())
b)PHP全局变量键值两边都有‘',中间用驼峰命名法命名。($GLOBAL['beginTime'])
c)普通变量整体采用驼峰命名法,建议在变量前加表示类型的前缀。不确定类型的以大写字符开头。
d)函数名要尽量有意义,尽量缩写。
2.类及接口命名:
a)以大写字母开头。
b)多个单词组成的变量名,单词之间不用间隔,各个单词首字母大写。
c)类名与类文件名保持一致。
d)程序中所有的类名唯一。
e)抽象类应以Abstract开头。
接口命名规则:
i)采用和类相同的命名规则,但在其命名前加‘i'字符,表示接口。
ii)尽量保持和实现它的类名一致。
3.数据库命名:在数据库相关命名中,一律不出现大写。
a)表名均使用小写字母。
b)表名使用同一的前缀且前缀不能为空。
c)对于多个单词组成的表名,使用‘_'间隔。
d)表字段命名规则。
i)全部使用小写字母。
ii)多个单词不用下划线分割。
iii)给常用字段加上表名首字母做前缀。
iv)避免使用关键字和保留字。
五、注释规范
1.程序注释:写在代码前面而不是后面,单行代码按照习惯写在代码尾部;大段注释采用/**/的方式,通常为文件或函数的顶部,代码内部使用'//';注释不宜太多;代码注释应该描述为什么而不是做什么,给代码阅读者提供最主要的信息。
2.文件注释:文件注释一般放在文件的顶部,包括本程序的描述、作者、项目名称、文件名称、时间日期、版本信息、重要的使用说明(类的调用,注意事项等)。版本更改要修改版本号,并加上mofify注释。
3.类和接口注释:按照一般的习惯,一个文件只包含一个类。
4.方法和函数注释:方法和函数的注释写在前面,通常需要表明信息的主要可见性、参数类型和返回值类型。