1 / 22
文档名称:

php编码规范.doc

格式:doc   大小:128KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

php编码规范.doc

上传人:静。语 2018/7/26 文件大小:128 KB

下载得到文件列表

php编码规范.doc

相关文档

文档介绍

文档介绍:PHP代码规范
一编辑器设置
使用Tab缩进,不要使用空格
鉴于很多编辑器在保存文件时会自动清除用于缩进的空格,所以我们一律使用Tab键进行缩进。
UNIX文件格式
请将编辑器设置对所有程序使用UNIX格式保存,不要使用Win32或者Mac的格式。例如,EditPlus里面Document->File Format(CR/LF)->Unix 。
对于windows格式文件,以Ctrl + M结束(vim下为^M),需要过滤掉:
$text = strtr($text, "\x0D", "");
二命名约定
公共库名称空间
TPLIB,Tencent PHP Library
常量名
全局常量,用'_'分隔每个单词,使用TPLIB_前缀。如: define("TPLIB_TEST_HELLO", "Hello world!");
类常量,用'_'分隔每个单词,如:
class TPLIB_Package
{
const EXAMPLE_CONST;
}
尽量使用类常量代替全局常量。
变量名
局部变量的字母都使用小写,使用“_”作为每个词的分界。如:$php_var;
函数、方法的参数,首字母为小写。如:
function test_func($paramName)
{
}
类属性,使用骆驼命名法命名,与函数、方法的参数命名方法相同;
全局变量,字母都使用大写,使用“_”作为每个词的分界,公共库中无特殊需求不使用全局变量。
命名必须具有描述性,但务求简练。不要在变量名中使用长句。通常在变量名中使用一对词语(使用下划线间隔)对变量进行简要描述这种方式更好。
循环索引变量
在循环结构中,仅允许使用一个字母长度的循环索引变量。通常我们使用$i,如果存在嵌套循环,那么子循环的索引变量应该使用$j,其下级循环的索引变量就是$k, 以此类推。如果循环被原已存在一些有具体含义名称的变量索引,则不受此规定约束。
例如:
for ($i = 0;$i < $outer_size;$i++)
{
for ($j = 0;$j < $inner_size;$j++)
{
foo($i,$j);
}
}
类的方法命名
使用骆驼命名法命名,例如 getCache()、echoName()。名字采用“动词+宾语”的形式。例如 write(动词)Cache(宾语)。
函数命名
函数应该使用描述性词语命名。我们不使用C的方式,也不使用类似"stristr()"这种没有描述、令人费解的函数名。所有函数名必须全部使用英文小写字母,函数名中的单词之间使用下划线间隔。某些情况下,函数名中更适合使用动词。例如:print_login_status(),get_user_data(),等等。
一个基本的哲学观点,就是不要仅仅出于懒惰而去破坏代码的清晰。比如print_login_status_for_a_given_user() 太长,换成print_user_login_status()会更好,或者仅仅用print_login_status()。
函数自变量
自变量的命名应遵守变量命名规定。我们不想使用do_stuff($a,$b,$c) 中的$a,$b,$c这种缺乏实际表述意义的名称。多数情况下,我们希望能够仅仅通过查看函数的声明就可以了解如何去使用函数。
名称空间与类命名
使用帕斯卡命名方法,如HelloWorld。
由于PHP ,这给类命名带来了一定的麻烦。
这里使用类名中附带名称空间的命名方法,名称空间与类名间使用下划线连接。
如TPLIB库中Test包的HelloWorld类:TPLIB_Test_HelloWorld
所有库中的类,都以TPLIB_ 开头,根据用途命名。将类名字中的“_”替换为目录分隔符,就是这个类的定义文件所在位置。这种命名规则和目录结构可以避免命名冲突,根据类名字就能找到文件存放位置。
如:
TPLIB_Test_HelloWorld 类在库中的位置为 TPLIB/Test/
文件命名
,。,包中的类使用 PackageName/。
三代码层

在语言结构(if,else,while,switch,for,foreach)中请在陈述与执行的代码分行,执行的代码放到大括号中,大括号不可省略。
例如:
/* These are all wrong. */
if (condition) do_s