PHP 编码规范

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 = [] ) {
        // 方法的内容
    }
}
相关文章
相关标签/搜索