• 「PSR 规范」PSR-2 编码风格规范


    所有 PSR 规范请见:https://learnku.com/docs/psr

     https://learnku.com/laravel/t/2079/psr-specification-psr-2-coding-style-specification
    https://psr.phphub.org/

    编码风格指南

    本篇规范是 PSR-1 基本代码规范的继承与扩展。

    本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便。

    当多名程序员在多个项目中合作时,就需要一个共同的编码规范,
    而本文中的风格规范源自于多个不同项目代码风格的共同特性,
    因此,本规范的价值在于我们都遵循这个编码风格,而不是在于它本身。

     

    关于「能愿动词」的使用

    为了避免歧义,文档大量使用了「能愿动词」,对应的解释如下:

    • 必须 (MUST):绝对,严格遵循,请照做,无条件遵守;
    • 一定不可 (MUST NOT):禁令,严令禁止;
    • 应该 (SHOULD) :强烈建议这样做,但是不强求;
    • 不该 (SHOULD NOT):强烈不建议这样做,但是不强求;
    • 可以 (MAY) 和 可选 (OPTIONAL) :选择性高一点,在这个文档内,此词语使用较少;

    参见:RFC 2119

     

    1. 概览

    • 代码 必须 遵循 [PSR-1]() 中的编码规范 。

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

    • 每行的字符数 应该 软性保持在 80 个之内,理论上 一定不可 多于 120 个,但 一定不可 有硬性限制。

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

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

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

    • 类的属性和方法 必须 添加访问修饰符(privateprotected 以及 public),abstract 以及 final 必须 声明在访问修饰符之前,而 static 必须 声明在访问修饰符之后。

    • 控制结构的关键字后 必须 要有一个空格符,而调用方法或函数时则 一定不可 有。

    • 控制结构的开始花括号({) 必须 写在声明的同一行,而结束花括号(}) 必须 写在主体后自成一行。

    • 控制结构的开始左括号后和结束右括号前,都 一定不可 有空格符。
     

    1.1. 例子

    以下例子程序简单地展示了以上大部分规范:

    <?php
    namespace VendorPackage;
    
    use FooInterface;
    use BarClass as Bar;
    use OtherVendorOtherPackageBazClass;
    
    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()
        {
            // 方法的内容
        }
    }
  • 相关阅读:
    iOS提交后申请加急审核
    EF5.0修改实体的时候,出现“对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性这个错误
    验证码生成-->漂亮啊
    用js将毫秒时间转成正常时间
    Ajax异步请求-简单模版
    unity3d自己写角色移动脚本
    unity3d实现序列帧动画
    unity3d切换场景时,背景音乐保持播放
    C#给文件重命名
    NGUI如何创建自己的精灵图集
  • 原文地址:https://www.cnblogs.com/yszr/p/10584970.html
Copyright © 2020-2023  润新知