PHP 编码规范

PSR 规范官网
PSR-2 编码风格规范
PSR-1 基础编码规范
CodeIgniter 框架的编码规范

类和命名空间

每个类都独立为一个文件,且命名空间至少有一个层次:顶级的组织名称(vendor name)。

类的命名必须遵循大写开头的驼峰命名规范。

<?php
namespace Vendor\Model;

class Foo
{
    ...
}

类中的属性、方法、常量

常量

类的常量中,所有字母都 必须 大写,词间以下划线分隔。

<?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;
}

方法

跟属性名一样,使用小写字母开头的驼峰规则。

<?php
namespace Vendor\Model;

class Foo
{
    public function getPrice($id)
    {
        ...
    }
}

代码

代码须使用4个空格符而不是「Tab 键」进行缩进。

所有 关键字 必须 全部小写。常量 true 、false 和 null 也 必须 全部小写。

每行字符数尽量保持在 80 个之内,最好不多于 120 个。

每个 namespace 命名空间声明语句和 use 声明语句块后面,必须 插入一个空白行。

类和方法的开始花括号({) 必须 写在函数声明后自成一行,结束花括号(})也 必须 写在函数主体后自成一行。

类的属性和方法 必须 添加访问修饰符(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 = []
    ) {
        // 方法的内容
    }
}

posted on 2018-07-01 12:49  kikajack  阅读(201)  评论(0编辑  收藏  举报