PHP 代码规范 一 编辑器设置 1. 使用Tab缩进,不要使用空格 鉴于很多编辑器在保存文件时会自动清除用于缩进的空格,所以我们一律使用Tab键进行缩进。 2. UNIX文件格式 请将编辑器设置对所有程序使用UNIX格式保存,不要使用Win32或者Mac的格式。例如,EditPlus里面Document->File Format(CR/LF)->Unix 。 对于windows格式文件,以Ctrl + M结束(vim下为^M),需要过滤掉: $text = strtr($text, "\x0D", ""); 二 命名约定 1. 公共库名称空间 TPLIB,Tencent PHP Library 2. 常量名 全局常量,用'_'分隔每个单词,使用TPLIB_前缀。如: define("TPLIB_TEST_HELLO", "Hello world!"); 类常量,用'_'分隔每个单词,如: class TPLIB_Package { const EXAMPLE_CONST; } 尽量使用类常量代替全局常量。 3. 变量名 局部变量的字母都使用小写,使用“_”作为每个词的分界。如:$php_var; 函数、方法的参数,首字母为小写。如: function test_func($paramName) { } 类属性,使用骆驼命名法命名,与函数、方法的参数命名方法相同; 全局变量,字母都使用大写,使用“_”作为每个词的分界,公共库中无特殊需求不使用全局变量。 命名必须具有描述性,但务求简练。不要在变量名中使用长句。通常在变量名中使用一对词语(使用下划线间隔)对变量进行简要描述这种方式更好。 4. 循环索引变量 在循环结构中,仅允许使用一个字母长度的循环索引变量。通常我们使用 $i,如果存在嵌套循环,那么子循环的索引变量应该使用 $j,其下级循环的索引变量就是 $k, 以此类推。如果循环被原已存在一些有具体含义名称的变量索引,则不受此规定约束。 例如: for ($i = 0;$i < $outer_size;$i++) { for ($j = 0;$j < $inner_size;$j++) { foo($i,$j); } } 5. 类的方法命名 使用骆驼命名法命名,例如 getCache()、echoName()。名字采用“动词+宾语”的形式。例如 write(动词)Cache(宾语)。 6. 函数命名 函数应该使用描述性词语命名。我们不使用C的方式,也不使用类似"stristr()"这种没有描述、令人费解的函数名。所有函数名必须全部使用英文小写字母,函数名中的单词之间使用下划线间隔。某些情况下,函数名中更适合使用动词。例如:print_login_status(),get_user_data(),等等。 一个基本的哲学观点,就是不要仅仅出于懒惰而去破坏代码的清晰。比如print_login_status_for_a...