PHP规范概述本规范希望通过制定一系列规则来规范PHP代码,减少浏览不同作者代码时因代码风格不同而带来的不便。当多个程序员在多个项目中合作时,需要一个通用的编码标准,而本文中的风格标准来源于多个不同项目的代码风格的共同特征。因此,这个标准的价值在于我们都遵循这种编码风格,而不是在于它本身。本文档的目标读者是PHP开发人员。本文档适用于大型商业项目。详细规范文档下载:https://mystudy1.oss-cn-shenz...文档截图:Folder文件夹名称必须符合CamelCase风格的驼峰命名规则,大写字母开头。文件PHP代码文件必须采用无BOM的UTF-8编码。纯PHP代码文件必须省略最后的?>结束标记。一行的长度必须限制在140个字符以内。非空行后不能有多余的空格。每行不得超过一个语句。适当的空行可以让阅读代码更方便,有助于代码块化(但要注意不要滥用空行)。缩进代码必须使用4个空格进行缩进,不得使用tab键。关键字和true/false/nullPHP所有关键字必须全部小写。常量true、false和null必须全部小写。命名空间和使用声明在命名空间声明之后必须插入一个空行。所有使用都必须在名称空间之后声明。每个use语句必须只有一个use关键字。use语句块后必须有一个空行。例如:bar($arg1);Foo::bar($arg2,$arg3);l参数列表超过140个字符,可以分成多行,此时包括第一个参数其中的每个参数都必须在单独的行上。bar($longArgument,$longerArgument,$muchLongerArgument);控制结构(controlstructures)的基本规范如下:l控制结构的关键字后必须有一个空格。l左括号后不能有空格(.l右括号前不能有空格)。l右括号)和左大括号{之间必须有一个空格。l结构体必须缩进一次。l右花括号}必须在结构主体之后单独一行。l每个结构体必须用成对的大括号括起来,使结构更加标准,减少添加新行时引入错误的可能性。if,elseif和else标准的if结构如下代码所示,注意中括号、空格和花括号的位置,注意else和elseif都与前面的右花括号在同一行。$value){//foreachbody}trycatchl标准的trycatch语句如下,注意括号、空格和花括号的位置。bar($arg1,function($arg2)use($var1){//body},$arg3);注释文件注释lCommentsstart/can't/,end/can't/.l第二行是php版本信息,后面跟一个空行。l注释内容对齐,注释之间不能有空行。l星号和评论内容之间必须有一个空格。l保持注解顺序不变@copyright然后 @link 然后 @license。类注解l注释以/notallowed/开头,以/notallowed/结尾。l描述从第二行开始,后面跟一个空行。l注释内容对齐,注释之间不能有空行。l星号和评论内容之间必须有一个空格。l保持注解的顺序是@author,然后是@since,然后是@version。属性注释l注释以/notallowed/开头,以/notallowed/结尾。l星号和评论内容之间必须有一个空格。l使用var注解并指明类型。l注解的基本类型包括int、sting、array、boolea、具体的类名。方法注释l注释以/notallowed/开头,以/notallowed/结尾。l第二行开始方法描述,方法描述后面是一个空行。l注释内容对齐,注释之间不能有空行。l星号和评论内容之间必须有一个空格。l注解顺序为@param、@return、@author、@since,参数顺序必须与方法参数顺序一致。l参数和返回值注释包括基本类型(intstingarrayboolean和unknown)和对象,如果有多种可能的类型使用|分开。l如果参数类型是对象,则参数类型必须指定为具体的类名,比如下面的$arg1参数。l如果参数类型为数组,则必须指定参数类型为数组。$arg2如下。l需要作者和日期注释,日期为最后修改日期。其他注释l代码注释尽量使用//l注释内容开头前必须有空格l代码末尾的注释//前面必须有空格l代码注释对齐以下代码
