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

摘要:
为了避免在浏览由多个作者编写的项目时由于不同的样式而带来的不便,可以使用同一组样式规范来统一标准代码。必须遵循PSR1规范以4个空格缩进,而不是使用TAB键缩进每行代码。每行代码必须在每个名称空间声明语句之后的80-120处进行控制。每个“use”声明语句块必须为空。类的开始和结束方括号必须形成一行。必须将访问控制修饰符(如private、public、protected、abstract)添加到方法和类的属性中

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

  • 代码必须遵循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()
    {
        // 方法的内容
    }
}

免责声明:文章转载自《【php】【psr】psr2 编码风格规范》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WEBBROWSER中模拟鼠标点击(SendMessage/PostMessage)[Swift]遍历集合类型(数组、集合和字典)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

初探PHP多进程

    准备 我们都知道PHP是单进程执行的,PHP处理多并发主要是依赖服务器或PHP-FPM的多进程及它们进程的复用,但PHP实现多进程也意义重大,尤其是在后台Cli模式下处理大量数据或运行后台DEMON守护进程时,多进程的优势不用多说。 PHP的多线程也曾被人提及,但进程内多线程资源共享和分配的问题难以解决。PHP也有多线程想关的扩展 pthread...

php控制器四

简单来讲,控制器的作用就是接受请求。它使用获取的方法,在这里是通过URI,载入一个功能模块来刷新或者提交一个表述层。控制器将使用$_GET自动全局变量来判断载入哪一个模块。   一个请求的例子,看起来像这样:  http://example.com/index.php?module=login  这看起来很简单,但是在实现的过程中却不是。这里是几个控制器能...

十个PHP开发者最容易犯的错误

文章引用链接:http://www.phpxs.com/post/5974/ PHP 语言让 WEB 端程序设计变得简单,这也是它能流行起来的原因。但也是因为它的简单,PHP 也慢慢发展成一个相对复杂的语言,层出不穷的框架,各种语言特性和版本差异都时常让搞的我们头大,不得不浪费大量时间去调试。这篇文章列出了十个最容易出错的地方,值得我们去注意。 易犯错误...

php 获取远程图片长宽和大小

/***获取远程图片的宽高和体积大小** @param string $url 远程图片的链接* @param string $type 获取远程图片资源的方式, 默认为 curl 可选 fread* @param boolean $isGetFilesize 是否获取远程图片的体积大小, 默认false不获取, 设置为 true 时 $type 将强制为...

php函数substr_replace中文乱码的替代解决方法

$str = "中华人民共和国"; $len = mb_strlen($str,'utf-8'); if($len>=6){ $str1 = mb_substr($str,0,2,'utf-8'); $str2 = mb_substr($str,$...

PHP获取MySql新增记录ID值的方法

今天发现用mysql_insert_id()获取到的新增记录的id不正确, 虽然发现源代码的事务写的有问题,但是最根本的原因是,我插入数据的id类型是bigint型  获取MySql新增记录ID值的方法有 1.使用语句 mysql_query("select max(id) from user",$link); 2.使用函数msyql_insert_i...