PHP编码规范(建议)

命名规则

函数命名

函数采用驼峰命名规则。一般采用

actionDescribeTarget

的形式。

例如:

getInternalName

getName

getValue

 

动作的名称使用匹配的方法规则。以下是常用的配对

get/set

from/to

init/uninit

add/remove

避免采用value(),name()这类语义不清的函数名。

 

对于缩写,推荐仅首字母大写。例如

parseXmlText

而不采用

parseXMLText.

 

对于类中的protected以及private函数,加前导线’_’例如

protected function _intertnalInit(){}

 

类命名

一般命名规则为class MyClassName,即所有首字母大写。

 

类库命名

采用以下命名规则:

类库名_Abstract_名称_类型_Interface

例如:

Zend_Session_Adapter_Interface

Zend_Session_Namespace

 

文件的目录则为

Zend/Session/Adapter/Interface.php

一般的功能类,不使用下划线分割。

 

文件命名

文件命名和类命名相似。

例如:

MyFileName.php

 

变量命名

局部变量

建议采用驼峰命名法。

例如:

$errCode

也可以采用简单的

$error

 

类的内部变量

采用前导下划线声明,采用驼峰命名法。例如

class A

{

static private $_instance;

}

 

书写规则

脚本声明

Php代码使用<?php的头声明,不得使用<?头声明。

对于非嵌入网页的脚本,不得使用?>尾部声明。防止另外追加的空格或者回车影响输出。

文件编码

除非有特殊原因,所有文件都应该使用utf-8编码,并且尽量避免中英文混排。

缩进

代码缩进采用4个字符空格的tab键

大括号规则

对于类、函数声明采用以下格式,首大括号另起一行。

class A

{
}

 

function B()

{
}

 

对于if/else/switch/while等判断条件语句,首大括号不另起一行。

if (){

}

else{

}

while(){

}

switch(){

case 0:

break;

default:

break;

}

的方式。

 

判断

是/非判断:

不能使用

if (true == judge()){

}

这样的判断,而应该使用

if (judge()){
}

同样

if (false == judge()){

}

也是不能使用的方法。应该写作:

if (!judge()){

}

除非必须判断强等于时,例如

if (false === judge()){
}

则可以使用。

注释

文件、函数、类应该有完整注释。

 

文件注释:

文件注释用于描述文件的信息。一般包括以下内容:

文件名       可以包含完整路径

作者         作者名字,email地址

创建时间      发布文件的时间

文件说明

修改历史      文件修改的历史记录

 

/**

* index.php

* author:  张三<zhangsan@qq.com>

* create:  2009-2-27

* note:

*    采用XXX的方法,可以完成YYY的效果。

* history:

*     2002-02-28 修订了认证失败信息错误的Bug

*/

 

函数注释

/**

* 函数描述,功能性描述

*

* @param  类型 参数名称 描述

* @return 类型

*/

 

例如:

/**

* 计算传入参数的和

*

* @param  number $a

* @param number  $b

* @return number

*/

function add($a, $b)

{
}

注:Zend Studio可以自动生成这个形式的注释。

 

类注释

当前类的一些功能。所属的包。等其他说明信息。

一般一个文件一个类。文件的注释和类的注释有相重的地方。

 

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/?p=1167

 

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/1167.html

发表评论