PHP编码规范

命名====================================

类命名
名字的首字母使用大写
各单词首字母使用大写,其他的字母均使用小写
不要使用下划线 _ 例如:
class NameOneTwo
class Name

方法命名
名字首字母小写,使用单词首字母大写或 下划线 _ 链接各单词,下划线 _ 后单词首字母小写
class NameOneTwo {
function doIt_note(){};
function handleError(){};
}

类属性命名
属性命名应该以字符 m 为前缀。
前缀 m 后采用于类命名一致的规则。
前缀'm'防止类属性和方法名发生任何冲突。方法名和属性名经常会很类似,特别是存取元素。
例如
class NameOneTwo {
var mErrorNumber;
var mrName;
function varAbc(){};
}

类静态变量
静态变量应该带前缀 s
例如
class NameOneTwo {
static $msStatus = 0;
}

变量命名
规则同方法命名
全局常量
全局常量所有字母应该大写,并以 _ 作为分界
例如
define("A_GLOBAL_CONSTANT", "Hello world!");

文件夹文件名
文件夹命名一般采用英文,长度一般不超过15个字符,命名采用小写字母。一些常见的文件夹命名如:images或img(存放图形文件),flash(存放Flash文件),style或css(存放CSS文件),scripts或js(存放Javascript脚本),media(存放多媒体文件)等。
文件名称统一用小写的英文字母、数字和下划线的组合。

注释====================================

注释应当准确、易懂,防止注释有二义性。错误的注释不但无益反而有害
程序块的注释常采用 /*…*/ ,行注释一般采用 //…
所有的PHP代码源文件都应该在开头有一个C语言风格的注释,其中列出类名、功能、版本信息、日期、作者

/*
* 功能
* 日期
* 作者
* 版本
* 版权
*/

例如
/**
* 代理管理中心模块
*@date 2015.5.22
* @author 张某某
* @since v2.0
* @copyright Copyright (c) 2013-2015 某某科技
*/


方法注释例如
/**
*用户中心右边,小导航(作用)
*
* @param string $menu_type 导航类型
* @param string $menu_key 当前导航的menu_key
* @param array $array 附加菜单
* @return array $arrUser
*/

如果时间紧迫至少写明方法作用,例如
/**
* cms专题编辑
*/


如果对文件进行了修改,应该在对应代码前面说明修改目的、修改日期、修改人,并且标识出修改部分的起止位置
……

/*
 * 修改目的
 * 修改日期
 * 修改人
 * 版本
 */

……

//修改人修改起始

……

……

//修改人修改结束

……

变量初始化====================================

尽量声明局部变量的同时初始化。唯一不这么做的理由是变量的初始值依赖于某些先前发生的计算。

布局====================================

方法与方法之间以空行分隔

统一一个制表(TAB)符作为缩进排版的一个单位。

操作符与变量之间用空格分隔

多个参数列表中(方法,或数组里),参数逗号的后面应该有空格

位于for循环中作为计数器值的数字常量,除了-1,0和1之外,不应被直接写入代码。
大括号{}使用
for, if, while, do, switch 等关键词后面的 { 要与关键字同行
例如
if(true){
......
}

{ }之内的代码块在 { 下边缩进一个Tab处左对齐。不允许用空格代替Tab
编辑器内自动格式化缩进设置成Tab


声明块的定位
只在代码块的开始处声明变量。(一个块是指任何被包含在大括号"{"和"}"中间的代码。)不要在首次用到该变量时才声明。
多变量根据系统执行调用顺序依次“归类”声明。同时为多个变量赋值时,同类别后面的等号用空格控制对齐
例如


function myMethod(){
// 方法块的开始
$name = $_GET['name'];
$age = $_GET['age'];
$sex = $_GET[' sex '];

$model1 = Model();
$model2 = Model();

$int1 = 0;
$int2 = 0;

if ($condition){
int $int2 = 0; // "if"块的开始
...
}
}


PHP代码块用<?php ?>来标记。禁止用<? ?>等

 

小括号、关键词和函数空格规则
关键字之后要留空格,否则无法辨析关键字。不要把小括号和if、for、while等关键词紧贴在一起,要用空格隔开它们,以突出关键字
方法名后面的小括号要紧贴方法名,不要留有空格

if、for、while、do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加 {} 。这样可以防止书写失误

switch 格式,所有 case 对齐在switch下的一个缩进,所有case对应的执行语句在case下的一个缩进
如果一个case分支执行完后继续进入下一个case执行,那么必须写注释

行长度
尽量避免一行的长度超过80个字符,因为很多终端和工具不能很好处理之。
换行
当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之:

- 在一个逗号后面断开
- 在一个操作符前面断开
- 新的一行应该与上一行同一级别表达式的开头处对齐
- 如果以上规则导致代码混乱或者使代码都堆挤在右边,那就代之以缩进一个制表符

posted @ 2015-05-25 22:10  风吹屁股凉冰冰  阅读(353)  评论(0编辑  收藏  举报