PHP代码编写规范分解_第1页
PHP代码编写规范分解_第2页
PHP代码编写规范分解_第3页
PHP代码编写规范分解_第4页
PHP代码编写规范分解_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PHP代码编写规范一、编辑器设置(1)使用Tab缩进,不要使用空格鉴于很多编辑器在保存文件时会自动清除用于缩进的空格,所以我们一律使用Tab键进行缩进。(2)UNIN文件格式请将编辑器设置对所有程序使用UNIX格式保存,不要使用Win32或者Mac的格式。例如,EditPlus里面Document->FileFormat(CR/LF)->Unix。对于windows格式文件,以Ctrl+M结束(vim下为AM),需要过滤掉:$text=strtr($text,"x0D","");二、命名设置1、公共库名称空间TPLIB,TencentPHPL

2、ibrary2、变量命名(1)所有字母都使用小写(2)首字母根据变量值类型指定整数I、浮点数f、字符串s、布尔值b、数组a、对象。、资源r、混合类型m(3)使用?_?乍为每一个词的分界例如:$i_age_max=10;$f_price=22.5;$s_name=,harry?;$b_flag=true;$a_price=array();$o_object=newclass();$r_file=fopen();$m_var=array_combine($a_name,$a_flag);3、类命名(1)使用大写字母作为词的分隔,其他的字母均使用小写,即驼峰格式。(2)名字的首字母使用大写(3)不要

3、使用下划线(?_')(4)interface接口最好使用大写字母I,并以Interface结尾例如:classNameOneTwoclassNameinterfaceIExampleInterface()4、方法命名(1)使用大写字母作为词的分隔,其他的字母均使用小写(2)名字的首字母使用大写,声明为“private”或“protected”的,使用?_的前缀(3)不要使用下划线(?_')(4)与类命名一致的规则(5)对象的访问器总是以“get”或“set”为前缀,当使用设计模式如单态模式(singleton)或工厂模式(factory),方法的名字应当包含模式的名字,这样容易

4、从名字识别设计模式。例如:classNameOneTwopublicfunctionDoIt();protectfunction_HandleError();privatefunction_SayHello();5、类属性命名(1)属性名前缀应以属性值类型指定(具体参照变量命名规则)(2)前缀后采用与类命名一致的规则(3)私有属性采用?_切前缀例如:classNameOneTwopublicfunctionVarAbc();publicfunctionErrorNumber();public$iAge;private$_iAge;6、方法中参数命名(1)参照类属性命名例如:classNameO

5、neTwopublicfunctionVarAbc($sMsg);)7、全局变量(1)全局变量应该带前缀,g?(2)其余参照变量命名规则例如:global$gi_Age;global$ga_Price8、定义命名/全局常量(1)全局常量使用?_盼割每个单词(2)所有字母使用大写例如:define(,E_ERROR_MISSING_PARA?,501);9、函数(1)所有的字母采用小写,使用?_盼割每个单词例如:functionsome_bloody_function()10、文件命名包含文件应该以.inc.php方式命名,例如config.inc.php。单独类的文件使用Classname.p

6、hp方式命名,包中的类使用PackageName/ClassName.php命名。三、代码层1、大括号规则(1)将大括号放置关键词下方的同列处或同行,推荐放到同行例如:functionsome_bloody_function()if(true)/code2、缩进/制表符规则(1)使用制表符缩进例如:functionsome_bloody_function()if(true)/code3、小括号、关键词和函数规则(1)不要把小括号和关键词紧贴在一起,要用空格隔开它们(2)小括号和函数名要紧贴在一起(3)除非必要,不要在Return返回语句中使用小括号例如:if(condition)strcmp(

7、$sHello,$sEvening);return1;4、IfThenElse格式布局if(条件1)/注释elseif(条件2)/注释else/注释如果你有用到elseif语句的话,通常最好有一个else块以用于处理未处理到的其他情况。可以的话放一个记录信息注释在else处,即使在else没有任何的动作。条件格式总是将恒量放在等号/不等号的左边,例如:if(6=$errorNum)一个原因是假如你在等式中漏了一个等号,语法检查器会为你报错。第二个原因是你能立刻找到数值,而不是在你的表达式的末端找到它。需要一点时间来习惯这个格式,但是它确实很有用。5、Switch格式(1)default总应该存

8、在,它应该不被到达,然而如果到达了就会触发一个错误。(2)如果你要创立一个变量,那就把所有的代码放在块中例如:switch($numPeople)case 1:break;case 2:break;default:break;6、?:三元运算符(1)把条件放在括号内以使它和其他的代码相分离。(2)如果可能的话,动作可以用简单的函数。(3)把所做的动作,"?';”:放在不同的行,除非他们可以清楚的放在同一行。例如(condition)?funct1():func2();(condition)?longstatement:anotherlongstatement;7、代码块的声明

9、(1)声明代码块需要对齐。例如$iDate=0;$irDate=NULL;$sName=,?;$mName=NULL;8、不要采用缺省方法测试非零值不要采用缺省值测试非零值,也就是使用:if(FAIL!=f()比下面的方法好:if(f()即使FAIL可以含有0值,也就是PHP认为false的表示。在某人决定用-1代替0作为失败返回值的时候,一个显式的测试就可以帮助你了。就算是比较值不会变化也应该使用显式的比较;例如:if(!($bufsize%strlen($str)应该写成:if($bufsize%strlen($str)=0)以表示测试的数值(不是布尔)型。一个经常出问题的地方就是使用st

10、rcmp来测试一个字符等式,结果永远也不会等于缺省值。非零测试采用基于缺省值的做法,那么其他函数或表达式就会受到以下的限制:只能返回0表示失败,不能为/有其他的值。命名以便让一个真(true)的返回值是绝对显然的,调用函数IsValid()而不是Checkvalid()。9、PHP注释与方法解析(D/单行注释(2) /*多行注释*/(3) /*多行文档注释*/(4) 关于文档注释的说明/*这是一个关于函数的注释*/functionbac()/*这不是一个文档注释,因为不是以/*开头*/functionbac()/*这是一个文档注释,但与函数无关,因为他没放到函数前面*/functionbac(

11、)e)文档说明/*文件说明* author作者* licenseLicense* version1.0* link* final* /10、在运算符之间使用空格在比较运算符(、=、=、=、=、!=、!=)、赋值运算符(二)、数学运算符(+、-、*、/、为、位运算符(&、|、八、)、逻辑运算符(!、&&|)、冒号(:)、问号(?)、字符串连接运算符(.)、字符串连接赋值运算符(.=)前后,以及左括号()前(函数调用例外)、逗号(,)后请使用空格进行间隔。例如:/*Theseareallwrong.*/$i=0;/*Theseareallright.*/$i=0;/*The

12、seareallwrong.*/if($i<7)./*Theseareallright.*/if($i<7)./*Theseareallwrong.*/if($i<7)&&>8)./*Theseareallright.*/if($i<7)&&>8)./*Theseareallwrong.*/do_stuff($i,"foo",$b);/*Theseareallright.*/do_stuff($i,"foo",$b);/*Theseareallwrong.*/for=0;$i<$size;$i+)./*Theseareallright.*/for($i=0;$i<$size;$i+)./*Theseareallwrong.*/$i=($j<$size)?0:1;/*Theseareallrightg.*/$i=($j<$size)?0:1;11、运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论