PSR 規範官網
PSR-2 編碼風格規範
PSR-1 基礎編碼規範
CodeIgniter 框架的編碼規範php
每一個類都獨立爲一個文件,且命名空間至少有一個層次:頂級的組織名稱(vendor name)。html
類的命名必須遵循大寫開頭的駝峯命名規範。laravel
<?php
namespace Vendor\Model;
class Foo
{
...
}
類的常量中,全部字母都 必須 大寫,詞間如下劃線分隔。web
<?php
namespace Vendor\Model;
class Foo {
const ENVIRONMENT = 'production';
const MY_PI = 3.14;
}
PSR 規範中,對屬性的編碼規範沒有強制要求,但通常使用小寫字母開頭的駝峯規則。框架
<?php
namespace Vendor\Model
class Foo
{
private $price;
private $userName;
}
跟屬性名同樣,使用小寫字母開頭的駝峯規則。ide
<?php
namespace Vendor\Model;
class Foo
{
public function getPrice($id)
{
...
}
}
代碼須使用4個空格符而不是「Tab 鍵」進行縮進。svg
全部 關鍵字 必須 所有小寫。常量 true 、false 和 null 也 必須 所有小寫。函數
每行字符數儘可能保持在 80 個以內,最好很少於 120 個。codeigniter
每一個 namespace 命名空間聲明語句和 use 聲明語句塊後面,必須 插入一個空白行。ui
類和方法的開始花括號({
) 必須 寫在函數聲明後自成一行,結束花括號(}
)也 必須 寫在函數主體後自成一行。
類的屬性和方法 必須 添加訪問修飾符(private、protected 以及 public),abstract 以及 final 必須 聲明在訪問修飾符以前,而 static 必須 聲明在訪問修飾符以後。
控制結構的關鍵字後 必須 要有一個空格符,而調用方法或函數時則 必定不可 有。
控制結構的開始花括號({) 必須 寫在聲明的同一行,而結束花括號(}) 必須 寫在主體後自成一行。
參數列表 能夠 分列成多行,這樣,包括第一個參數在內的每一個參數都 必須 單獨成行。
控制結構的開始左括號後和結束右括號前,都 必定不可 有空格符。
<?php
namespace Vendor\Package;
use FooInterface;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
class Foo extends Bar implements FooInterface {
public function sampleFunction($a, $b = null) {
if ($a === $b) {
bar();
} elseif ($a > $b) {
$foo->bar($arg1);
} else {
BazClass::bar($arg2, $arg3);
}
}
final public static function bar() {
// 方法的內容
}
public function aVeryLongMethodName( ClassTypeHint $arg1, &$arg2, array $arg3 = [] ) {
// 方法的內容
}
}