• 【php】【psr】psr2 编码风格规范


    为避免浏览多个作者参与编写的项目时,因风格的不同造成不便时,大家可以使用同一套风格规范来统一标准

    • 代码必须遵循PSR1的规范
    • 缩进使用4个空格,而不是TAB键缩进
    • 每行代码控制在80-120个
    • 每个namespace申明语句后,每个'use'申明语句后一定要空一行
    • 类的开始和结束花括号必须自成一行,方法的也是
    • 类的属性必须添加访问控制修饰符如private,public,protectedabstract,final必须放在访问修饰符之前,static放在
      访问修饰符之后
    • 控制结构的关键字后面必须要有个空格 如 if (),而调用函数或方法则一定不能有空格 应getFunction()
    • 控制结构的开始花括号和申明写在一行,结束花括号自成一行;开始花括号后,结束花括号前一定不能有空格
    • 所有PHP文件以Unix LF (linefeed)作为行的结束符
    • 所有PHP文件必须以空白行结束
    • 纯PHP文件必须省略最后的 ?>
    • 非空行后一定不可有多余的空格符
    • 每行一定不可存在超过一条语句
    • 关键字全部小写
    • use语句,一行应该只有一个
    • 类的extends,implements 必须和类名在一行,implements继承的接口名可以多行,多行时一行只能有一个接口名
    • 一定不要用var申明属性
    • 不要使用下划线定义属性和方法
    • 方法名一定要定义访问修饰符
    • 方法申明的左括号后右括号前不要有空格
    • 方法的参数后面逗号紧接参数名,逗号后有空格
    • 拆分成多行的方法参数 结束括号和开始的花括号要在一行,方法的申明和开始括号在一行
    • 调用方法时和方法的申明规则一样
    • 控制结构结束)和开始的{之间要有个空格
    • 控制结构 else 或 else if 必须和 开始花括号和结束花括号在一行 如 } else {
    • 控制结构的结构体必须要有缩进
    • switch语句,case 相对于switch要有段缩进,break相对于case要有段缩进
    • 存在非空的case直穿语句时,必须交上//no break注释
    <?php
    switch ($expr) {
        case 0:
            echo 'First case, with a break';
            break;
        case 1:
            echo 'Second case, which falls through';
            // no break
        case 2:
        case 3:
        case 4:
            echo 'Third case, return instead of break';
            return;
        default:
            echo 'Default case';
            break;
    }
    
    <?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()
        {
            // 方法的内容
        }
    }
    
  • 相关阅读:
    Mac下安装zsh(Oh My ZSH)的shell,替代原有的bash
    Mac下配置环境变量重启后不生效解决(.bash_profile vs .bashrc)(bash/zsh下不加载.bashrc问题解决)
    Mac下配置环境变量(转)
    Jenkins配置Publish Junit test result report(转)
    Mac下配置Java Web开发环境(Mac 10.12)
    Mac下配置idea(Mac 10.12)
    Sublime Text 3安装插件(Mac 10.12)
    Sublime Text 3新建工程
    Mac下快速新建txt文件
    Mac下配置maven和集成到ecclipse(Mac 10.12)
  • 原文地址:https://www.cnblogs.com/china-flint/p/11132316.html
Copyright © 2020-2023  润新知