PSR 2 編碼風格規範

2021-08-19 16:27:14 字數 4107 閱讀 3303

** 必須 使用 4 個空格符而不是「tab 鍵」進行縮排。

每行的字元數 應該 軟性保持在 80 個之內,理論上 一定不可 多於 120 個,但 一定不可 有硬性限制。

每個 namespace 命名空間宣告語句和 use 宣告語句塊後面,必須 插入乙個空白行。

類的開始花括號 也 必須 寫在函式主體後自成一行。

方法的開始花括號 也 必須 寫在函式主體後自成一行。

類的屬性和方法 必須 新增訪問修飾符(private、protected 以及 public),abstract 以及 final 必須 宣告在訪問修飾符之前,而 static 必須 宣告在訪問修飾符之後。

控制結構的關鍵字後 必須 要有乙個空格符,而呼叫方法或函式時則 一定不可 有。

控制結構的開始花括號必須寫在宣告的同一行,而結束花括號 必須 寫在主體後自成一行。

控制結構的開始左括號後和結束右括號前,都 一定不可 有空格符。

<?php

namespace

vendor\package;

usefoointe***ce;

usebarclass

asbar;

useothervendor\otherpackage\bazclass;

class

fooextends

barimplements

foointe***ce

elseif ($a > $b) else

}final

public

static

function

bar()

}

<?php

namespace

vendor\package;

usefooclass;

usebarclass

asbar;

useothervendor\otherpackage\bazclass;

// ... 更多的 php **在這裡 ...

<?php

namespace

vendor\package;

usefooclass;

usebarclass

asbar;

useothervendor\otherpackage\bazclass;

class

classname

extends

parentclass

implements \arrayaccess, \countable

<?php

namespace

vendor\package;

usefooclass;

usebarclass

asbar;

useothervendor\otherpackage\bazclass;

class

classname

extends

parentclass

implements

\arrayaccess,

\countable,

\serializable

<?php

namespace

vendor\package;

class

classname

<?php

namespace

vendor\package;

class

classname

}

<?php

namespace

vendor\package;

class

classname

}

<?php

namespace

vendor\package;

class

classname

}

<?php

namespace

vendor\package;

abstract

class

classname

}

<?php

bar();

$foo->bar($arg1);

foo::bar($arg2, $arg3);

<?php

$foo->bar(

$longargument,

$longerargument,

$muchlongerargument

);

左括號 ( 後 一定不可 有空格。

右括號 ) 前也 一定不可 有空格。

右括號 ) 與開始花括號 必須 在結構體主體後單獨成行。

<?php

if ($expr1) elseif ($expr2) else

<?php

switch ($expr)

<?php

while ($expr)

<?php

do while

<?php

for ($i = 0; $i < 10; $i++)

<?php

foreach ($iterable as $key => $value)

<?php

try catch (firstexceptiontype $e) catch (otherexceptiontype $e)

<?php

$closurewithargs = function

($arg1, $arg2)

;$closurewithargsandvars = function

($arg1, $arg2)

use($var1, $var2)

;

<?php

$longargs_novars = function

( $longargument,

$longerargument,

$muchlongerargument);

$noargs_longvars = function

()use

( $longvar1,

$longervar2,

$muchlongervar3);

$longargs_longvars = function

( $longargument,

$longerargument,

$muchlongerargument

)use

( $longvar1,

$longervar2,

$muchlongervar3);

$longargs_shortvars = function

( $longargument,

$longerargument,

$muchlongerargument

)use

($var1)

;$shortargs_longvars = function

($arg)

use(

$longvar1,

$longervar2,

$muchlongervar3

);

<?php

$foo->bar(

$arg1,

function

($arg2)

use($var1)

, $arg3

);

函式的定義

操作符和賦值

行內對齊

注釋和文件描述塊

類名的字首及字尾

最佳實踐

PHP工程規範 PSR 2

1 必須滿足psr 1 2 必須使用4個空格作為縮排,不能使用tabs 3 對於行數限制沒有嚴格要求,但建議在120行以內,每一行建議不多於80個字元 4 namespace宣告之後必須空行,use宣告之後必須空行 5 類名後面的開大括弧必須另起一行,閉大括弧必須另起一行 6 方法名後面的開大括弧必...

PSR編碼規範

規範 規範使用說明 規範是乙個php開發工程師必須遵循的基本開發準則,為了提公升 質量,成為乙個合格的軟體開發工程師,規範作為考試標準之一,列為預設評分標準。規範分為四部分 psr 1基本 規範 psr 2 風格規範 psr 3日誌介面規範 psr 4 autoloader,具體參看每一部分規範的詳...

PSR規範 php編碼規範

前言 一開始寫 的時候,只是自己覺得怎麼舒服怎麼寫,什麼格式都是自己覺得順眼就怎麼安排,沒有怎麼閱讀什麼規範的 最近讀了 php the right way 發現寫 作為一門工程學還是要優雅,規範,清爽的寫,so,分享以下編碼規範,每次寫完 之後,自己都會拿出規範,讓自己的 風格盡量遵守這些編碼規則...