PHP教程:PHP开发网站代码编写规范
一、 变量命名a) 所有字母都使用小写 b) 首字母根据变量值类型指定 i. 整数i ii. 浮点数f iii. 字符串s iv. 布尔值b v. 数组a vi. 对象o vii. 资源r viii. 混合类型m c) 使用’_’作为每一个词的分界 例如: $i_age_max = 10; $f_price = 22.5; $s_name =‘harry’; $b_flag = true; $a_price = array(); $o_object = new class(); $r_file = fopen(); $m_var = array_combine($a_name, $a_flag); 二、 类命名a) 使用大写字母作为词的分隔,其他的字母均使用小写,即驼峰格式。 b) 名字的首字母使用大写 c) 不要使用下划线(’_'') d) interface接口最好使用大写字母I,并以Interface结尾 例如: class NameOneTwo class Name interface IExampleInterface () 三、 方法命名a) 使用大写字母作为词的分隔,其他的字母均使用小写 b) 名字的首字母使用大写,声明为 “private” 或 “protected” 的,使用’_’为前缀 c) 不要使用下划线(’_'') d) (与类命名一致的规则) e) 对象的访问器总是以 “get” 或 “set” 为前缀,当使用设计模式如 单态模式(singleton)或工厂模式(factory),方法的名字应当包含模式的名字,这样容易从名字识别设计模式。 例如: class NameOneTwo{ public function DoIt() {}; protect function _HandleError() {}; private function _SayHello() {}; } 四、 类属性命名a) 属性名前缀应以属性值类型指定(具体参照变量命名规则) b) 前缀后采用与类命名一致的规则 c) 私有属性采用’_’为前缀 例如: class NameOneTwo { public function VarAbc() {}; public function ErrorNumber() {}; public $iAge; private
Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
} 五、 方法中参数命名a) 参照类属性命名 例如: class NameOneTwo { public function VarAbc($sMsg) {}; } 六、 全局变量a) 全局变量应该带前缀‘g’ b) 其余参照变量命名规则 例如: global $gi_Age; global $ga_Price 七、 定义命名/全局常量a) 全局常量使用’_’分割每个单词 b) 所有字母使用大写 例如: define(‘E_ERROR_MISSING_PARA’, 501); 八、 函数a) 所有的字母采用小写,使用’_’分割每个单词 例如: function some_bloody_function(){ }
九、 大括号{}规则a) 将大括号放置关键词下方的同列处或同行,推荐放到同行 例如: function some_bloody_function() { } if (true) { // code } 十、 缩进/制表符规则a) 使用制表符缩进 例如: function some_bloody_function() { if (true) { //code } } 十一、 小括号、关键词和函数规则a) 不要把小括号和关键词紧贴在一起,要用空格隔开它们 b) 小括号和函数名要紧贴在一起 c) 除非必要,不要在Return返回语句中使用小括号 例如: if (condition) { } strcmp($sHello, $sEvening); return 1; 十二、 If Then Else格式布局 if (条件1) { //注释 } else if (条件2) { //注释 } else { //注释 } 如果你有用到else if语句的话,通常最好有一个else块以用于处理未处理到的其他情况。可以的话放一个记录信息注释在else处,即使在else没有任何的动作。 条件格式 总是将恒量放在等号/不等号的左边,例如: if ( 6 == $errorNum ) … 一个原因是假如你在等式中漏了一个等号,语法检查器会为你报错。第二个原因是你能立刻找到数值,而不是在你的表达式的末端找到它。需要一点时间来习惯这个格式,但是它确实很有用。 十三、 Switch格式a) default总应该存在,它应该不被到达,然而如果到达了就会触发一个错误。 b) 如果你要创立一个变量,那就把所有的代码放在块中。 例如: switch ($numPeople) { case 2: default: 十四、 ?:三元运算符a) 把条件放在括号内以使它和其他的代码相分离。 b) 如果可能的话,动作可以用简单的函数。 c) 把所做的动作,“?”,“:”放在不同的行,除非他们可以清楚的放在同一行。 例如 (condition) ? funct1() : func2(); (condition) ? long statement : another long statement; 十五、 代码块的声明a) 声明代码块需要对齐。 例如 $iDate = 0; $irDate = NULL; $sName = ‘’; $mName = NULL; 十六、 不要采用缺省方法测试非零值不要采用缺省值测试非零值,也就是使用: if (FAIL != f()) 比下面的方法好: if (f()) 即使FAIL可以含有0值,也就是PHP认为false的表示。在某人决定用-1代替0作为失败返回值的时候,一个显式的测试就可以帮助你了。就算是比较值不会变化也应该使用显式的比较; 例如:if (!($bufsize % strlen($str)))应该写成:if (($bufsize % strlen($str)) == 0)以表示测试的数值(不是布尔)型。一个经常出问题的地方就是使用strcmp来测试一个字符等式,结果永远也不会等于缺省值。 非零测试采用基于缺省值的做法,那么其他函数或表达式就会受到以下的限制: 只能返回0表示失败,不能为/有其他的值。 命名以便让一个真(true)的返回值是绝对显然的,调用函数IsValid()而不是Checkvalid()。 十七、PHP注释与方法解析a) //单行注释 b) 第二种 d) 关于文档注释的说明 /** /* /** function bac(){} e) 文档说明 推荐写完代码后用ZendStudio重新格式化一次代码,清晰 |
|||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |