由于php的灵活性,很多人写起代码来也不讲求一个好的代码规范,使得本就灵活的php代码看起来很乱,其实psr规范中的psr-1和psr-2已经定义了在php编码中的一些规范,只要我们好好遵守这些规范,即使是使用灵活的脚本语言,也能写出非常漂亮工整的代码。首先我们来看一下已经通过的psr规范,然后大致讲解一下psr-1和psr-2规范的一些具体要求。
psr-1要求php代码以<?php开头。psr-2规定,纯php文件不应该以一个?>标签结束,而应该以一个空白行结束。
namespace声明后应该插入一个空白行,u声明语句块后也应该要有一个空白行。不要在同一行代码中进行多次u声明。
类的开始和结束
class关键字、类名,以及extends和implements关键字必须在同一行中。如果一个类实现了多个接口,那么这些接口名可以在类声明的同一行中,也可以各占一行。如果选择将这些接口名放在多行中,那么第一个接口名必须自成一行,而不是跟在implements关键字后面。类的开始花括号({)应该写在函数声明后自成一行,结束花括号(})也应该写在类体后自成一行。也就是说,类声明看起来如下所示
class earthgame extends game implements playable, savable{ //类体}
也可以将类名与类声思考的近义词明放在同一行中。
class earthgame extends game implements playble, savable{ //类体}
属性声明
每个属性都必须有访问修饰符(public、private或protecte湖北文理学院理工学院d)。不可以使用关键字var声明属性。psr-1中已经涵盖了属性名的规范:可以使用下划线、小写驼峰式命名或大写驼峰式命名方式,但应该保持一致。(个人推荐属性采用小写式驼峰)
方法的开始和结束
所有方法必须具有访问修饰符(public、private或protected)。访问修饰符必须在abstract或final之后,static之前。具有默认值得方法参数应该放在参数列表的末尾。
单行声明
方法的开始花括号({)应该写在方法名后自成一行,结束花括号(})也应该写在方法体后自成一行(直接跟在方法代码之后)。方法参数列表不应该以空格开始或结束(即应该紧贴包裹着它们的圆括号)。对于每个参数,参数名(或默认值)后面应该有一个逗号,且逗号后面有一个空格。这听起来似乎有些复杂,如下所示:
final public static function generatetile(int $diamondcount, bool $polluted = fal){ //方法体}
多行声明
如果方法有很多参数,那么单行方法声明是不实际的。此时我们可以分割参数列表,以便将每个参数(包括类型、参数变量、默认值和逗号)单独放在缩进的一行中。这种情况下,结束南邮是211吗圆括号应该放在参数列表后面一行中,并与方法声明的开始位置对齐。开始花括号({)应该在同一行的结束圆括号之后,以空格分隔。方法体应该从新的一行开始。同样,这听起来似乎很复杂,以下示例应该能帮助你理解这条规定。
public function __construct( int $size, string $name, bool $warparound = fal, bool $aliens = fal) { //方法体}
行与缩进
代码应该使用4个空格符来缩进,而不是使用制表符。我们可以检查编辑器设置,将其设置为按下tab键时使用4个空格而不是制表符。每行代码的长度不应该超过120个字符。
方法与函数调用
方法名称和开始圆括号之间不能有空格。方法调用中的参数列表的规则与方法声明中的参数列表规则相同。换言之,对于单行调用,开始圆括号后或结束圆括号前不能有空格。每个参数之后应该紧跟一个逗号,下一个参数前应该有一个空格。如果需要使用多行代码进行方法调用,那么每个参数应该自成一行并缩进,而且结束圆括号也应该自成一行。
$earthganme = new earthgame( 5, 'earth', true, true);$earthgame胸透检查什么::generatetile(5, true);
流程控制
流程控制关键字(if、for、while等)后面必须紧跟一个空格。但是,开始圆括号后不能有空格。同样,结束圆括号前不能有空格。因此内容应该紧贴在括号内的。与类和(单行)函数声明相比,流程控制代码的开始花括号应该与结束圆括号在同一行。结束花括号应该自成一行。以下是一个简单的示例。
$title = [];for ($x = 0; $x < $diamondcount; $x++) { if ($polluted) { $title[] = new pollutiondecorator(new diamonddecorator(new plains())); } el { $title[] = new diamonddecorator(new plains()); }}
注意if和for之后的空格。for和if语句与圆括号在同一行,而且它们的结束圆括号后都有一个空格,然后是流程控制体的开始花括号。
本文发布于:2023-04-07 12:30:26,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/d82ebe9a4268d3e7895b1e49087c43a1.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP编码风格规范.doc
本文 PDF 下载地址:PHP编码风格规范.pdf
留言与评论(共有 0 条评论) |