PHP规范PSR2(编码指南)介绍(二)

4.4 方法参数

在参数列表中,每个逗号前不得有空格,每个逗号后必须有一个空格。

具有默认值的方法参数必须位于参数列表的末尾。

<?php
namespace Vendor\Package;

class ClassName
{
    public function foo($arg1, &$arg2, $arg3 = [])
    {
        // method body
    }
}

参数列表可以分为多行,每行后续行缩进一次。这样做时,列表中的第一项必须在下一行,并且每行必须只有一个参数。

当参数列表分成多行时,右括号和左括号必须放在一起,它们各自之间有一个空格。 

<?php
namespace Vendor\Package;

class ClassName
{
    public function aVeryLongMethodName(
        ClassTypeHint $arg1,
        &$arg2,
        array $arg3 = []
    ) {
        // method body
    }
}

4.5 抽象,最终和静态

如果存在,抽象和最终声明必须在可见性声明之前。

如果存在,静态声明必须在可见性声明之后。

<?php
namespace Vendor\Package;

abstract class ClassName
{
    protected static $foo;

    abstract protected function zim();

    final public static function bar()
    {
        // method body
    }
}

4.6 方法和函数调用

在进行方法或函数调用时,方法或函数名称与左括号之间不能有空格,在左括号后面不能有空格,并且在右括号之前不能有空格。在参数列表中,每个逗号前不得有空格,每个逗号后必须有一个空格。

<?php
bar();
$foo->bar($arg1);
Foo::bar($arg2, $arg3);

参数列表可以分为多行,每行后续行缩进一次。这样做时,列表中的第一项必须在下一行,并且每行必须只有一个参数。

<?php
$foo->bar(
    $longArgument,
    $longerArgument,
    $muchLongerArgument
);

5、控制结构

控制结构的一般样式规则如下:

  • 控制结构关键字后面必须有一个空格
  • 在左括号后面不能有空格
  • 在右括号之前不能有空格
  • 在右括号和左括号之间必须有一个空格
  • 结构体必须缩进一次
  • 闭合支撑必须在身体后面的下一行

每个结构的主体必须用括号括起来。这标准化了结构的外观,并减少了在新线被添加到身体时引入错误的可能性。

5.1  if,elseif,else

if结构如下所示。注意括号,空格和大括号的位置;而else和elseif与早期身体的右括号位于同一条线上。

<?php
if ($expr1) {
    // if body
} elseif ($expr2) {
    // elseif body
} else {
    // else body;
}

如果所有控制关键字看起来像单个单词,则应该使用关键字elseif而不是else。

5.2 switch,case

开关结构如下所示。请注意括号,空格和大括号的位置。 case语句必须从switch缩进一次,break关键字(或其他终止关键字)必须缩进到与case主体相同的级别。必须有一个评论,例如//在非空案例主体中故意进行跌倒时不会中断。

<?php
switch ($expr) {
    case 0:
        echo 'First case, with a break';
        break;
    case 1:
        echo 'Second case, which falls through';
        // no break
    case 2:
    case 3:
    case 4:
        echo 'Third case, return instead of break';
        return;
    default:
        echo 'Default case';
        break;
}

5.3 while,do while

while语句如下所示。请注意括号,空格和大括号的位置。

<?php
while ($expr) {
    // structure body
}

类似地,do while语句如下所示。请注意括号,空格和大括号的位置。

<?php
do {
    // structure body;
} while ($expr);

5.4 for

for语句如下所示。请注意括号,空格和大括号的位置。

<?php
for ($i = 0; $i < 10; $i++) {
    // for body
}

5.5 foreach

foreach语句如下所示。请注意括号,空格和大括号的位置。 

<?php
foreach ($iterable as $key => $value) {
    // foreach body
}

5.6 try catch

 try catch块如下所示。请注意括号,空格和大括号的位置。

<?php
try {
    // try body
} catch (FirstExceptionType $e) {
    // catch body
} catch (OtherExceptionType $e) {
    // catch body
}

猜你喜欢

转载自blog.csdn.net/u013702678/article/details/83450707